我有一个包含2个商店的Flux应用:ACCOUNT-STORE
和CLIENT-STORE
。
目前,该应用程序允许用户过滤特定国家/地区,并且已在每个商店中实施整个过滤器逻辑(因为帐户数据和客户端数据都必须按国家/地区进行过滤)。所以两个商店:
1-听取组件触发的SELECT_COUNTRY
操作
2-创建一个仅保留所选国家/地区的过滤功能
3-将该功能应用于他们的数据
由于过滤器的数量会增加,我想知道是否可以将第1步和第2步移到第三个只管理过滤器的商店:FILTER-STORE
。
现在FILTER-STORE
听取SELECT_COUNTRY
并创建过滤器功能,但我无法找到让ACCOUNT-STORE
和CLIENT-STORE
倾听并对{{1}中的变化做出反应的最佳做法1}}。
在FILTER-STORE
的AppDispatcher.register中,我尝试在创建过滤器函数后调用另一个操作:
FILTER-STORE
我的计划是让switch (action.actionType) {
case AppConstants.SELECT_ACCOUNT:
updateAccountFilter(action.data);
AppActions.stfil_selectAccount(
FilterStore.getAccountFilter()
);
break;
和ACCOUNT-STORE
听取此操作并使用其有效负载。但我依赖错误信息:
CLIENT-STORE
所以也许有另一种方式?是否可以让Invariant Violation: Dispatch.dispatch(...): Cannot dispatch in the middle of a dispatch.
和ACCOUNT-STORE
听取CLIENT-STORE
,就像我的组件听商店一样?
由于