2015-02-18 4 views
5

Я задавался вопросом, что лучшая практика или конвенция при создании магазинов в Flux при работе с APIКогда создать новый Flux магазин

Допустим, у нас есть список «проектов», вызов API будет в конечном итоге заполнить магазин под названием ProjectStore в _projects

Затем, когда пользователь выбирает проект, вы хотите загрузить конкретные данные проекта. Не могли бы вы добавить это к тому же ProjectStore как _activeProject или создать для него отдельный магазин?

То же самое, когда вы загружаете Todo внутри этого Проекта. Было бы целесообразно поставить их в TodoStore, но как насчет конкретного Todo внутри Todos в рамках проекта?

Я надеюсь, что выше имеет смысл :)

ответ

4

Я хотел бы использовать ProjectStore для хранения как _projects и _activeProject.

Я, как правило, делал в своих проектах React для создания нового магазина для каждой модели. Например: предположим, что у меня есть приложение, которое обслуживает сообщения и учетные записи. Тогда у меня были бы MessageStore и AccountStore. Затем используйте их соответственно в своем домене. Например, когда я хочу получить сообщения от бэкэнда (через API), я храню их в MessageStore. То же самое касается AccountStore.

Поскольку ваш проект становится все больше и больше, вам, вероятно, придется пересмотреть реорганизацию чего-то в новом магазине. Например, если вы хотите добавить рекламу на свой сайт, вы можете создать AdsStore.

Мое правило состоит в попытке разделить магазины по их домену, но не делает структуру более сложной, чем она должна быть.

Надеюсь, что помогло.

+0

Спасибо за понимание. Я был на моем пути, чтобы иметь один магазин для каждой модели в Express API, но он каким-то образом визжит. Не был уверен, что это был «Путь потока». Я мог видеть выгоду от наличия магазина под названием «ActiveProject», когда загружается конкретный проект, и просматриваете различные страницы ProjectSettings, ProjectTeam, ProjectOverview. – Hyra

+0

Согласен. Если «новые» данные, полученные в «ActiveProject», требуют много новой логики и других вызовов API, было бы полезно создать новый магазин. – magnudae

+0

Очень удивительный. Еще раз спасибо. – Hyra

Смежные вопросы