Почему неконтролируемого использования
1. Нарушение реактивного потока
2. Плохая читаемость
Цепочки
Плохо для рефакторинга - логика, разбросанная по
3. Производительность
Неотписанные
#reactivity #watch
watch
лучше избегать?1. Нарушение реактивного потока
watch
часто скрывает логику реактивности. Например, отслеживание изменения переменной для вызова побочного эффекта (fetch
) делает поток данных менее предсказуемым, особенно если эффекты затрагивают несколько компонентов.Vue
поощряет однонаправленную реактивность (данные -> шаблон). watch
часто используется для обратной связи (данные -> данные), что усложняет отладку.2. Плохая читаемость
Цепочки
watch
внутри компонента превращаются в плохо понимаемый в спагетти-код.Плохо для рефакторинга - логика, разбросанная по
watch
, сложно переносится в composables
.3. Производительность
watch
с deep: true
может создать нагрузку при отслеживании больших объектов или массивов.watch
часто дублирует логику, которую можно выразить через computed
. Вычисляемые свойства кешируются и эффективнее.Неотписанные
watch
в динамических компонентах (например, внутри v-if
) могут накапливаться и вызывать утечки памяти.watch
— это аварийный выход для случаев, когда декларативных подходов недостаточно. Если возможно, нужно старайться решить задачу через computed
, props
или события.#reactivity #watch
👍12❤8