> Вызывается ли watchEffect сразу или только при изменении данных во Vue (Vue.js)

Уровень: middle · Роль: frontend · Категория: Технические вопросы

Компании: Библио-Глобус

Стек: Vue.js

> Пример ответа

Да, watchEffect в Vue 3 вызывается сразу при инициализации, а затем повторно при каждом изменении отслеживаемых реактивных данных. Это его ключевое отличие от watch, который по умолчанию выполняется только при изменении данных (лениво).

Пример:

JAVASCRIPT
import { ref, watchEffect } from 'vue'
const count = ref(0)
watchEffect(() => {
console.log('count:', count.value) // Выведет 0 сразу, затем обновится при изменении
})
count.value++ // Выведет 1

watchEffect автоматически определяет зависимости (все реактивные переменные, используемые внутри колбэка) и запускается синхронно до завершения текущего рендера компонента. Если нужно отложить первый вызов, используйте watch с опцией { immediate: false } или оберните логику в flush: 'post'.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью