React / Flux:我应该有商店听其他商店的变化吗?

时间:2015-06-26 17:48:40

标签: reactjs reactjs-flux flux

我为我的第一个真实世界实施构建了一个基本的通量应用程序。

说我有一个基本的货币转换应用程序。

当我更改金额或货币到/从下拉列表时,我需要进行ajax调用 - 1)重新获取货币信息,以及
- 2)重新计算转换率。

我有费率商店货币信息商店

这是我最大的挂断
 如何根据各种UI片段/其他商店数据的变化告诉商店重新获取数据?

这些更新也应按顺序进行,所以
- 1)更新UI状态
- 2)获取货币信息&更新状态/ UI 3)获取转换,进行计算并使用最终数字更新状态/ UI。

我看到的选项
a)(blech)ViewActionCreator.changeAmount(),changeFromCurrency(),changeToCurrency(),所有API.fetchCurrency(),然后是API.fetchConversion(),希望ajax调用以正确的顺序返回或者试图找出waitFor
b)让conversionStore和currencyStore监听对amountStore的更改,然后重新获取自己的数据 C) ?

1 个答案:

答案 0 :(得分:1)

我建议你查看flux调度程序中的waitFor()方法。它允许您指定存储更新以响应操作的顺序。

Facebook的聊天应用就是一个很好的例子,其中一家商店在更新之前等待另外两家商店完成更新以响应某项行动。

https://github.com/facebook/flux/blob/master/examples/flux-chat/js/stores/UnreadThreadStore.js