Как инициализировать конечные / дочерние хранилища MobX State Tree - PullRequest
0 голосов
/ 16 января 2020

Моя модель дерева состояний MobX выглядит следующим образом:

const ProductItem = types
    .model({
        name: types.string,
        price: types.number
    })
    .actions(self => ({
        changePrice(newPrice) {
            self.price = newPrice;
        }
    }));

const ProductStore = types
    .model({
        items: types.optional(types.array(ProductItem), [])
    })
    .actions(self => ({
        add(item) {
            self.items.push(item);
        }
    }));

const AppStore = types.model('AppStore', {
    productStore: types.maybeNull(ProductStore)
});

AppStore - это root хранилище.

Я хочу создать AppStore и инициализировать приведенные ниже данные для ProductStore , Ниже я создал функцию для инициализации и создания хранилища:

export const initializeStore = (isServer, snapshot = null) => {

    if (isServer) {
        AppStore.create({
              .....
        });
    }   

    return store;
};

Я не уверен, как ProductStore должен быть инициализирован внутри AppStore.create() с этим массивом:

items: [
            {
                name: 'Product 1',
                price: 150
            },
            {
                name: 'Product 2',
                price: 170
            }
        ]

любая помощь будет оценена.

...