我正在开发一个有几个状态(还原器)的应用程序。假设它们是消息、喜欢和注释(它们都来自完全不同的实例,所以我不确定是否应该将它们合并成一个状态)。
每隔30秒,我向服务器发出请求,并收到响应,其中显示我的应用程序的哪些部分已经更新。我收到了新消息或新评论。
我真的不知道如何处理这些反应。首先,我可以简单地让容器更新所有其他状态,但我认为这不是一个好主意,因为每个容器都应该有自己的状态。
其次,我可以创建一个中间件来捕捉每个动作,找到一个包含所需信息的中间件,并拍摄另一个操作(例如,新消息)。在消息减少之后,将捕获此操作。但我不确定这种做法是否正确,原因有二:
提前谢谢。
UPD。我使用的是中间件,但我仍然不确定这是否是一种正确的方法。在我的中间件中,我使用store.getState()获取所需的数据.然后我制作了store.dispatch(myAction)。这样可以吗?
发布于 2017-01-14 10:56:27
理解还原剂/=状态是很重要的。(减速器不相等状态)
应用程序应该有一个状态,一个存储。用combineReducers来做好。把减速机合在一起,把所有东西都保持在一个状态。
http://redux.js.org/docs/api/combineReducers.html
您需要处理异步行为,这在redux中不是默认的,因此您必须使用某种中间件--这意味着您处于正确的轨道上。
尝试并使用更常见的(如:https://github.com/gaearon/redux-thunk https://github.com/redux-saga/redux-saga )
建议将异步逻辑从应用程序中分离出来。这意味着您需要在应用程序中插入异步调用,但要将异步逻辑保存在存储区中。
以下是Dan和Redux的指南,简单明了:http://redux.js.org/docs/advanced/AsyncActions.html
希望它能回答你。
https://stackoverflow.com/questions/41642261
复制相似问题