Sobes.tech
Назад к вопросам
Middle
5

Что можешь сказать про computed и watch во Vue 3?

Компании, где спрашивали
Ростелеком

Ответ от нейросети

sobes.tech AI

В Vue 3 computed и watch — это реактивные инструменты для работы с данными, но с разными целями.

  • computed — это вычисляемые свойства, которые кэшируются и пересчитываются только тогда, когда изменяются их зависимости. Используются для вычисления значений на основе реактивных данных, при этом Vue оптимизирует производительность, избегая лишних вычислений.

    import { ref, computed } from 'vue';
    
    const count = ref(1);
    const double = computed(() => count.value * 2);
    
  • watch — это наблюдатель, который следит за изменениями реактивных данных и выполняет побочные эффекты, например, асинхронные операции или вызовы API. В отличие от computed, watch не кэшируется и предназначен для реакций на изменения.

    import { ref, watch } from 'vue';
    
    const count = ref(1);
    watch(count, (newVal, oldVal) => {
      console.log(`count изменился с ${oldVal} на ${newVal}`);
    });
    

Итого, computed — для вычисления значений с кэшированием, watch — для реакции на изменения с выполнением побочных эффектов.