Как обрабатывать отношения один-ко-многим в магазинах Flux

Я только начинаю использовать flux (с избыточностью на данный момент) и мне интересно, как должны обрабатываться отношения.
Для примера мы можем использовать Trello, у которого есть доски с колонками, которые содержат карты.

Один из подходов состоит в том, чтобы иметь одно хранилище / редуктор для плат и иметь в нем все данные, но это означает, что некоторые очень толстые хранилища должны быть, так как они должны были бы содержать все действия для столбцов и карт.

Другой подход, который я видел, - это разделение вложенных ресурсов, например, на BoardStore, ColumnStore и CardStore и использование их идентификаторов в качестве ссылки.

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

Итак, вкратце:

Увольнение addCardaddCard выполняет запрос, в то же время вы возвращаете действие типа ADD_CARD_TEMPвы получаете запрос и возвращаете действие типа ADD_CARD, где хранилище / редуктор изменяет идентификатор.

Есть ли рекомендуемый способ справиться с этим делом? Вложенные хранилища / редукторы выглядят немного глупо для меня, но в противном случае вы получите очень сложные хранилища, так что это действительно выглядит как компромисс.

Ответы на вопрос(1)

Ваш ответ на вопрос