Как работает деструктуризация реактивных значений во Vue и как сохранить реактивность при деструктуризации?

Обычная деструктуризация примитивного поля reactive-объекта теряет связь с ним; её сохраняют через toRef/toRefs или getter.

Короткий ответ

Что ответить на собеседовании

Обычная деструктуризация примитивного поля reactive-объекта теряет связь с ним; её сохраняют через toRef/toRefs или getter.

Подробный разбор

Ответ с пояснениями

Обычная деструктуризация примитивного поля reactive-объекта теряет связь с ним; её сохраняют через toRef/toRefs или getter.

Для Pinia часто используют storeToRefs. Есть отдельное правило Vue 3.5+: деструктуризацию defineProps в том же компилятор делает реактивной. Но передача такого поля во внешнюю функцию как значения всё равно отличается от передачи getter.

Источник: vuejs.org, vuejs.org.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее