2015-07-13 4 views
0

Мы пытаемся реализовать архитектуру потока и сталкивались с несколькими трудностями: следует ли несколько представлений получать данные из одного и того же хранилища? Я не имею в виду тривиальные методы выборки модели, такие как getUser, я имею в виду состояние представления (isActive, выбранные поля и т. Д.) Использование того же хранилища для обработки состояния обоих представлений выглядит как избыточная связь по моему мнению.Flux Архитектура и связь между компонентами

Например, рассмотрите торговое приложение, имеющее страницу запаса. переход от фондовой страницы на новую страницу заказа и используя ту же currentStock собственности в StocksStore, вызывает у нас много смешных ошибок при навигации вперед и назад между страницами;)

Так я пришел к выводу, что если два вида используют один и тот же магазин для сохранения состояния просмотра, тогда это хорошая возможность разделить хранилище на два подкатегории (StockStore, NewOrderStore).

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

Вы согласны с моими заключениями? Вы столкнулись с подобными проблемами?

Erik.

+0

Я не уверен, что понимаю, что вы подразумеваете под 'currentStock'-' newOrderPage' не сразу поражает меня как требующего свойства currentStock. Не могли бы вы уточнить? – citelao

+1

Это может быть скорее основано на мнениях по поводу вопроса StackOverflow, но на самом деле нет никакого * правильного * способа сделать это. Это компромисс, который будет зависеть от многих аспектов вашего приложения и других вариантов дизайна. Конечно, нет ничего, что помешало бы вам использовать один магазин для нескольких компонентов, на самом деле я бы сказал, что это очень распространено. На странице Flux Facebook: «Больше, чем просто управление коллекцией объектов в стиле ORM, магазины управляют состоянием приложения для определенного домена в приложении» –

ответ

0

Как сказал @HannesJohansson, это действительно вопрос мнения и не правильный способ сделать это. Я читал где-то, что в facebook в одном из его приложений было 1000 магазинов или рядом с ним. В конце концов, сохранение вещей будет лучше для обслуживания. Файлы будут проиндексированы в один большой файл js для производства, поэтому это нормально, если у вас несколько магазинов.

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