Back to questions
Middle
8
Чем отличается ref от reactive во Vue 3?
Companies where asked
Ростелеком
Answer from AI
sobes.tech AI
В Vue 3 ref и reactive — это два способа создания реактивных данных, но они отличаются по назначению и типу данных, с которыми работают.
-
refиспользуется для создания реактивного объекта, который содержит примитивное значение или объект в свойстве.value. Это обертка вокруг значения, позволяющая отслеживать его изменения. -
reactiveсоздает реактивный прокси-объект из переданного объекта, позволяя отслеживать изменения его свойств напрямую.
Пример:
import { ref, reactive } from 'vue';
const count = ref(0); // реактивное примитивное значение
count.value++;
const state = reactive({
count: 0
});
state.count++;
Ключевые отличия:
refподходит для примитивов (числа, строки, булевы) и для случаев, когда нужно реактивно отслеживать одно значение.reactiveлучше использовать для объектов и массивов, чтобы сделать реактивными все их свойства.
В шаблонах Vue автоматически распаковывает ref, поэтому можно писать просто {{ count }}, а в коде нужно обращаться к .value.
Итого:
- Используйте
refдля простых значений или когда нужна реактивность отдельного значения. - Используйте
reactiveдля сложных объектов с несколькими свойствами.