首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >redux存储的体系结构问题

redux存储的体系结构问题
EN

Stack Overflow用户
提问于 2017-01-13 19:40:17
回答 1查看 110关注 0票数 0

我正在开发一个有几个状态(还原器)的应用程序。假设它们是消息、喜欢和注释(它们都来自完全不同的实例,所以我不确定是否应该将它们合并成一个状态)。

每隔30秒,我向服务器发出请求,并收到响应,其中显示我的应用程序的哪些部分已经更新。我收到了新消息或新评论。

我真的不知道如何处理这些反应。首先,我可以简单地让容器更新所有其他状态,但我认为这不是一个好主意,因为每个容器都应该有自己的状态。

其次,我可以创建一个中间件来捕捉每个动作,找到一个包含所需信息的中间件,并拍摄另一个操作(例如,新消息)。在消息减少之后,将捕获此操作。但我不确定这种做法是否正确,原因有二:

  1. 从中间件中拍摄动作可以吗(这不是双向流吗)?
  2. 我怎么才能真正做到呢?

提前谢谢。

UPD。我使用的是中间件,但我仍然不确定这是否是一种正确的方法。在我的中间件中,我使用store.getState()获取所需的数据.然后我制作了store.dispatch(myAction)。这样可以吗?

EN

回答 1

Stack Overflow用户

发布于 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

希望它能回答你。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41642261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档