Добавление хранилища, доступного для чтения, в хранилище, доступное для записи

Я пытаюсь добавить доступное для чтения хранилище в качестве значения по умолчанию к записываемому хранилищу, чтобы пользователь видел некоторое значение по умолчанию при открытии приложения.

У меня есть один большой магазин readabletaskStore, который содержит различные объекты с информацией о задачах, а именно:

import { writable, readable } from "svelte/store";

// The video directories together with the corresponding frame counts should be placed here
export const taskStore = readable(
    [ 
        {
            imageDir: '100159',
            frameCount: 50,
            labels: [
                { frame: 10, x: 125, y: 60 },
                { frame: 10, x: 125, y: 60 },
                { frame: 10, x: 125, y: 60 },
            ]
        },
        {
            imageDir: '100589', 
            frameCount: 50, 
            labels: []
        }
    ]
)


Поэтому я попробовал добавить первое значение taskStore к записываемому currentTaskStore, вот так:

export const currentTaskStore = writable([taskStore[0]])

но это не работает, и я получаю значение undefined, когда пытаюсь использовать этот магазин в других компонентах. Можно ли использовать хранилище writable со сложными объектами или они предназначены только для примитивов?

🤔 А знаете ли вы, что...
С Svelte легко интегрировать с серверными API и базами данных.


52
1

Ответ:

Решено

Вне компонентов вы можете получить доступ к стоимости магазинов только через subscribe или вспомогательную функцию (из svelte/store), которая просто создает временную подписку.

Так что если да get(taskStore)[0], это должно сработать.
В магазинах можно хранить любые предметы.