Pinia - как добавить данные

Использую vueUse для работы с localStorage и Pinia, но не могу понять, почему при вызове функции обновления не добавляется новый элемент объекта

const tasks = useStorage(
        STORE_NAME,
        {
            id: Math.random().toString(16).slice(2),
            data: {
                title: 'Default title',
                description: ''
        }},
        localStorage,
        {
            mergeDefaults: true, 
        },
    );

Функция, которую вызываю:

function updateTasks(newTasks) {
    tasks.value = {...tasks.value, ...newTasks};
}

Ну и сам вызов:

@click="() => {store.updateTasks(
        {
            id: Math.random().toString(16).slice(2),
            data: {
                title: 'Default title',
                description: ''
        }}
      )
     
    }
    "

При вызове функции просто заменяются значения в хранилище без добавления нового элемента. Как решить данную проблему?


Ответы (1 шт):

Автор решения: eri

Не замещайте объект новым. Это ломает всю реактивность.

Может так или пройтись циклом.

Object.assign(tasks.value,newTasks)

Ну ещё странно почему taskS - объект, а не массив.

→ Ссылка