2015-05-07 2 views
0

Я изучаю React and flux.Магазин Flux зависит от асинхронной загрузки в другом магазине

Say есть маршрут как

// Route 
/continent/:continentId/countries 
// Example 
/continent/europe/countries 

Есть два магазинов, ContinentsStore и CountriesStore

Что лучший шаблон дизайна, в Flux, так что, когда маршрут будет загружен, в ContinentsStore асинхронно выбирает список всех континентов, устанавливает текущий в Европу, а затемStatesStore ищет текущий континент в ContinentsStore, а затем переходит к загрузке списка всех стран на этом континенте.

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

Спасибо.

ответ

1

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

+0

Это интересно, у вас есть какие-то ресурсы, которые вам нравятся, что вы можете связать меня? Кроме того, в этой парадигме можно ли асинхронно хранить еще один? Я знаком с обычным диспетчером.waitFor ([storeTokens ...]) – Qiming

+0

Концептуально это довольно просто. Вы можете агрегировать магазины как: var Store1 = Reflux.createStore ({}); var Store2 = Reflux.createStore ({}); Reflux.all (Store1, Store2) .listen (function() { \t console.log (аргументы); }); Store1.trigger ("store1"); Store2.trigger ("store2"); – shadeglare

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