#vue.js #vuejs3
#vue.js #vuejs3
Вопрос:
все. У меня есть вопрос об использовании reactive
. Я знаю тип состояния, но начальное значение пустое. Как мне использовать присваивание? Код выглядит следующим образом
//....
let origin = reactive<Timeslot | {}>({});
const handler = (data) => {
Object.assign(origin, data);
};
//..
На самом деле, я хочу присвоить начальное значение origin
to null
. Как я могу справиться с этой проблемой?
Ответ №1:
Вы не сможете назначить null
реактивному, поскольку реактивная подпись требует, чтобы тип расширял объект:
function reactive<T extends object>(target: T): UnwrapNestedRefs<T>
С учетом сказанного, зачем вам реактивное значение null? Вы не сможете воспользоваться системой реактивности vue, если вы инициализируете реактивный объект с null
помощью или даже с пустым объектом (хотя это возможно), поскольку в этом случае вы ничего не отслеживаете.
Возможно, вам нужна ссылка? Вы можете сделать ref обнуляемым с помощью обнуляемого типа объединения, например.
let origin = ref<Timeslot | null>(null);
Комментарии:
1. Будут ли свойства временного интервала в этом случае реактивными? Не следует ли использовать reactive() для объектов?