如果大量数据在redux中处于app状态吗?

时间:2015-10-20 17:08:39

标签: reactjs redux

假设我有一些数据表,例如列表,管理报告返回用户列表(包含详细信息)或日志记录列表。此信息是否属于redux存储,其中只有数据表需要此信息?或者,如果我正在绘制5000个节点的内容。这也属于redux single app状态吗?为什么或为什么不呢?

如果这些项目不属于app状态,是否只是本地组件状态我应该将它们加载到没有redux?似乎很高兴让我的所有异步请求都以类似方式获取。

2 个答案:

答案 0 :(得分:1)

由于redux并不关心数据(它实际上只是在调度动作时调用reducer函数,并用结果替换当前状态),因此不存在任何性能问题。它将与您提供的减速器功能一样高效。

如果您想直接看到这一点:https://github.com/rackt/redux/blob/master/src/createStore.js#L115

你更有可能因为反应而遇到性能问题,但即便如此,它仍然存在这种可疑性。您可能希望虚拟化您的表格,以便您不会渲染出视图元素,但这是ui编程的常见问题。

答案 1 :(得分:-1)

是的,Redux的方法是将所有客户端状态放在Redux存储中。请参阅Three Principles of Redux,特别是第一个:

  

单一来源

     

整个应用程序的状态存储在单个商店的对象树中。

     

这样可以轻松创建通用应用程序,因为服务器中的状态可以序列化并充当客户端而无需额外的编码工作。单个状态树还可以更轻松地调试或内省应用程序;它还使您能够在开发过程中保持应用程序的状态,从而加快开发周期。传统上难以实现的一些功能 - 例如Undo / Redo - 如果您的所有状态都存储在一个树中,则突然变得微不足道。