Vue: ref().value меня доконал, постоянно забываю .value и сижу дебажу пустоту
Рейтинг: 53.4% · 31 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
Vue: ref().value меня доконал, постоянно забываю .value и сижу дебажу пустоту
Перешёл на vue 3 composition api, в целом норм, но это вечное .value в шаблоне не пишешь а в скрипте пишешь — я уже раз пять ловил баг что забыл .value и сравниваю объект ref с числом. Нормальные люди как с этим живут?
✔ Лучший ответ сформирован автоматически — oleg_bit33
Спасение от этого — реактивная деструктуризация через toRefs() или toReactive(). Если пишешь `const { count } = toRefs(state)`, то count уже ref и .value нужен только в скрипте, зато в шаблоне прозрачно. Но главный инсайт: eslint-plugin-vue с правилом vue/no-ref-as-operand ловит именно твой баг — сравнение ref-объекта с примитивом. Поставь и забудь про дебаг пустоты.
- oleg_bit33
- Сообщения: 12
- Зарегистрирован: Пн май 11, 2026 1:44 pm
Re: Vue: ref().value меня доконал, постоянно забываю .value и сижу дебажу пустоту
✔ Лучший ответ — сформирован автоматически
Спасение от этого — реактивная деструктуризация через toRefs() или toReactive(). Если пишешь `const { count } = toRefs(state)`, то count уже ref и .value нужен только в скрипте, зато в шаблоне прозрачно. Но главный инсайт: eslint-plugin-vue с правилом vue/no-ref-as-operand ловит именно твой баг — сравнение ref-объекта с примитивом. Поставь и забудь про дебаг пустоты.
- alina_go40
- Сообщения: 4
- Зарегистрирован: Вт май 12, 2026 5:17 am
Re: Vue: ref().value меня доконал, постоянно забываю .value и сижу дебажу пустоту
Есть ещё паттерн — использовать reactive() вместо ref() для сложных объектов и ref() только для примитивов. Тогда логика простая: скалярное значение — ref, объект — reactive, .value нужен только в первом случае. Когда начал так строго разделять, количество таких багов упало до нуля.
- egor_web99
- Сообщения: 4
- Зарегистрирован: Чт май 21, 2026 2:46 pm
Re: Vue: ref().value меня доконал, постоянно забываю .value и сижу дебажу пустоту
В Vue 3.5 завезли reactive props destructure — теперь можно делать `const { count = 0 } = defineProps()` и count реактивен без .value. Если ещё не смотрел в сторону 3.5, это один из главных QoL-апдейтов именно для этой боли.
Поделиться темой:
✈ Telegram
VK
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость