> Вызывается ли watchEffect сразу или только при изменении данных во Vue (Vue.js)
Уровень: middle · Роль: frontend · Категория: Технические вопросы
Компании: Библио-Глобус
Стек: Vue.js
> Пример ответа
Да, watchEffect в Vue 3 вызывается сразу при инициализации, а затем повторно при каждом изменении отслеживаемых реактивных данных. Это его ключевое отличие от watch, который по умолчанию выполняется только при изменении данных (лениво).
Пример:
JAVASCRIPTimport { ref, watchEffect } from 'vue'const count = ref(0)watchEffect(() => {console.log('count:', count.value) // Выведет 0 сразу, затем обновится при изменении})count.value++ // Выведет 1
watchEffect автоматически определяет зависимости (все реактивные переменные, используемые внутри колбэка) и запускается синхронно до завершения текущего рендера компонента. Если нужно отложить первый вызов, используйте watch с опцией { immediate: false } или оберните логику в flush: 'post'.
> Похожие задачи по frontend
Как мигрировать на Vue 3 с Composition API
Какие проблемы встречаются при работе с Nuxt
Как используются менеджеры состояния во Vue
Как решить проблему потери реактивности при деструктуризации пропсов во Vue?
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью