Вложенные store в React flux

261
03 июля 2017, 20:47

Помогите решить вопрос с организацией сторов. В приложении существует множество вложенных объектов, по каждому из которых необходимо отслеживать состояние:

Корневой объект
    Объект типа А 1
        Объект типа Б 1
            Объект типа В 1
            Объект типа В 2
        Объект типа Б 2
            Объект типа В 3
            Объект типа В 4
    Объект типа А 2
        Объект типа Б 3
            Объект типа В 5
            Объект типа В 6
        Объект типа Б 4
            Объект типа В 7
            Объект типа В 8
    Объект типа А 3
        Объект типа Б 5
            Объект типа В 9
            Объект типа В 10
        Объект типа Б 6
            Объект типа В 11
            Объект типа В 12
    ...
    Объект типа А N

Количество вложенных объектов каждого типа может варьироваться

Как лучше организовать хранилища? Создать объект "Корневое хранилище" с Map'ами всех вложенных объектов и создать типы событий "objectA/loaded", "objectB/loaded" и т.д. и передавать в стор цепочку идентификаторов? Малейшее изменение приведет к перебору всех объектов.

Или создать несколько сторов. StoreA, StoreB, StoreN , куда передавать событие с id конкретного объекта? Малейшее изменение приведет к перебору всех объектов соответствующего типа.

Или может есть методика создания сторов на лету? Что-то вроде new TypeAStore и привязывать его к конкретному объекту, чтобы отрабатывать только его события.

READ ALSO
Заполнение textarea полей из дочернего окна - jQuery

Заполнение textarea полей из дочернего окна - jQuery

Здравствуйте друзья, есть окно (родительское) и в этом окне есть 3 текстовых поля

238
Проверка radio- и checkbox- input'ов средствами JavaScript

Проверка radio- и checkbox- input'ов средствами JavaScript

При отправке формы, содержащей чекбоксы или радио-кнопки на сервер с ними в дальнейшем работать довольно легко, потому как несколько, например,...

632
Плавная анимация затухания

Плавная анимация затухания

ПриветХочу сделать валидацию данных на JS перед отправкой на сервер

375