ref хранит значение через .value и подходит для примитивов и объектов; reactive возвращает Proxy объекта. Оба связывают чтение данных с зависимыми эффектами.
Расскажи про ref и reactive: в чём их отличия, как они работают под капотом?
ref хранит значение через .value и подходит для примитивов и объектов; reactive возвращает Proxy объекта. Оба связывают чтение данных с зависимыми эффектами.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
ref хранит значение через .value и подходит для примитивов и объектов; reactive возвращает Proxy объекта. Оба связывают чтение данных с зависимыми эффектами.
При чтении реактивного значения Vue регистрирует зависимость, при изменении уведомляет подписанные эффекты. reactive перехватывает операции через Proxy; ref предоставляет отслеживаемый доступ к .value, а объект внутри обычного ref тоже становится реактивным. Замена .value допустима, но простая замена переменной с reactive не обновит старые ссылки. Деструктуризация примитивных свойств требует сохранения реактивной связи.