свойства объекта реактивные возвращает
а так оно бы потеряло реактивность?
да, если ток объект вытягивать
харашо спасибо братик
не потеряло бы, state - реактивный объект
даже после деструктуризации?
объект вернуть можно целиком, слов нет
для того, чтобы в шаблоне иметь рефы и обращаться к ним без .value, например, {{ newTask }}, без этого пришлось бы писать state.newTask
в шаблоне же никогда не пишут .value мы же говорим о template секции так ведь
в этом и смысл - ты возвращаешь рефы и поскольку в шаблоне не нужен .value, то можешь обращаться к ним просто по имени, а если ты возвращаешь целый реактивный объект, то в шаблоне должен сначала обратиться к нему, а потом уже к нужному свойству
еще можно без спреда писать, если не нужны дополнительные свойства - return toRefs(state)
если без спреда написать то оно вернет объект, а тут это же используется для того чтобы получить каждое свойство по отдельности как подметил вячеслав state = data
так и спред тебе вернет объект, тут никакой разницы не будет, ты просто сделаешь копию того, что вернул toRefs спред нужен, если хочется еще засунуть дополнительные свойства, помимо самого toRefs
как бы это тоже объект который возвращается
ну и что? мы же не должны обращаться через него к тем самым рефам
а если без спреда возвращать как доступ получается? не юзал, интересно просто
{ …toRefs(state) } - то же самое, что и toRefs(state), только ты еще без надобности копируешь все рефы внутри объекта и засовываешь их в новый объект, в остальном ничего не меняется
а ну по сути тоже самое
но там же не { …toRefs(state) } а просто …toRefs(state)
короче бро если ничего больше не возвращаешь то toRefs(), а если есть еще что то из сетапа то спредишь
это же скобки объекта сетапа
правильно, из сетапа возвращается обычный объект, поэтому если ты пишешь toRefs(state), то ты точно так же возвращаешь объект с рефами внутри если ты пишешь { …toRefs(state) }, то ты возвращаешь точно такой же обычный объект, просто создаешь его заново, а не берешь тот, что вернул toRefs
сетап не требует явного объявления скобок при возвращении, если что можно хоть так: const a = { b: 2 }; return a;
в целом - ничего, если объект маленький спред оператор - это ничто иное, как обычный цикл, который расходует память
что будет если убрать тут спред оператор?
так не получится, тут нужен спред, либо изначально нужно добавлять filteredTasks в объект в таких случаях его использование - это ок, да и стейт все равно почти всегда небольшой
хорошо спасибо большое !
Обсуждают сегодня