我在我的应用程序中使用Redux。一个我的页面,我有5个控件订阅商店。但是在某些特定操作的情况下,我不希望2个控件响应更改。我该如何处理这种情况。
我查看了这个链接https://github.com/reactjs/redux/issues/580,但找不到像store.getState().lastAction
这样的内容。
处理这种情况的最佳方法是什么?
答案 0 :(得分:1)
你所在州应该有一面旗帜,说明你是否应该更新你的控制。 Redux的基本原则之一是不允许客户端知道商店的更新方式。您应该只响应状态变化,无论状态如何变化。
但我真的不明白为什么你必须亲自处理商店变化?您应该考虑使用[
[{'date': 20170728, 'group': 121}],
[{'date': 20170729, 'group': 131}],
[{'date': 20170729, 'group': 134}, {'date': 20170729, 'group': 145}]]
]
。
修改强>
正如评论中所指出的,如果你在调度动作时需要做一些副作用,你应该使用一些redux中间件,例如redux-thunk,redux-saga,redux-observable,{{3} }。对于初学者来说,最简单的一个是redux-loop。它允许您分派一个将要执行的简单函数,并且还可以调度其他操作。
但是,要触发每个操作的副作用并且能够按操作类型进行过滤,请参阅@Brandon评论中指出的redux-thunk。