2016-12-14 63 views
0

我有应用程序,我有办公室列表和工作场所列表(工作场所属于办公室)。在他们两个你可以添加笔记,物品(即这个地方很小/这个有打印机/这个办公室有一个办公室的打印机等)如何使动态创建的多个儿童商店的正确实施

问题 - 管理我打算使用的笔记和项目共享组件呈现为弹出式窗口,并且可以在屏幕上多次显示(例如,比较两个位置)。我想不出的是如何在redux中正确执行此操作。我不能有一个商店的组件。如果我在每个办公室/工作场所放置一家商店 - 那么我担心我会使用太多内存(因为它应该关注在10个办事处之间分散的高达约10000个工作场所,每个工作场所最多可以有20个商品+笔记)。而且我找不到任何其他方式来存储组件,只有在显示组件时才会创建它,然后它将与组件一起工作以使组件工作,然后组件关闭时它将被销毁。

问题 - 如何正确设置,这样我可以尽可能多地使用redux,并且它不会在本地存储所有数据?

[附加信息]

  • 从分析(而且从应用的目标),我看到这个名单将会在较长时间内使用一次,当他们需要从服务器在开始加载数据,然后做一些动作,然后完成。
  • 总的来说,项目/备注有很大的变化,但对工作场所/办公室的更改量很小,通过AJAX轮询进行检查。我想避免AJAX轮询/套接字的所有细节 - 因为这将意味着大数据流客户端
+0

这个想法是在redux中只使用一个单独的商店。为什么不简单地在商店内创建一个* workplaceLists *数组? – Robert

+0

这是一个想法,但这意味着,在极端的条件下,这可以有一个10K项目(里面有20个项目) - 我只是不确定这是我想要的。从我从分析中知道的情况来看,大多数情况下我需要这个项目一次(显示细节)每个应用程序运行,而在同一时间的应用程序可以运行很长一段时间 – SergeS

回答

1

有10000+项目是完全没问题的。实际上,High Performance Redux上的这个滑动集比较了仅包含连接到Redux的列表组件的10K项列表的行为,与连接了每个列表项的10K项目列表的比较,并且演示了10K连接列表项示例是很多更快。

另请参阅http://redux.js.org/docs/faq/Performance.html#performance-scaling以获取有关性能的更多信息,https://github.com/markerikson/redux-ecosystem-links/blob/master/component-state.md指向可帮助实现存储在Redux中的每个组件状态的库的链接。

+0

谢谢,我特别是第二个链接解决我的问题: - ) – SergeS