我正在开发一种产品,我正在使用ReactJS作为前端。我以列表的形式获取大量数据(以千为单位),我希望在本地存储API响应。那么在这种情况下,我应该更喜欢LocalStorage
或Redux
?
我很困惑,因为数据量非常大,我认为将其存储在redux-store
可能会导致一些性能问题。
答案 0 :(得分:1)
就个人而言,我没有在列表中找到数千个项目会给Redux商店带来很多性能问题。相反,当使用redux存储大型列表时,请考虑以下问题:
你真的需要一次性使用那么多数据吗?通用列表显示(例如分页列表或无限滚动)每次只占用一部分数据。如果您不需要一次为列表中的所有数据呈现DOM,请考虑在后端对数据进行分页,并向列表中发送要显示的列表中的确切数据量。
如何存储您的清单? Redux recommends data normalization,以提高效果。如果应用程序经常查询并显示列表,则Array是您要存储列表的最后一个结构。
如何从redux商店中取出列表进行DOM渲染?如果您需要经常更新列表中的项目,这一点至关重要。 Here is an excellent solution分解了你可以做些什么来处理这种情况。
答案 1 :(得分:0)
Localstorage(通常)仅限于5mb or less存储空间,因此如果您要存储序列化为>的数据。 5mb,那么localstorage不是一个选项。
通常,当您尝试迭代数据或基于它更改DOM时,您的性能会受到影响。一般来说,我认为您正在寻找错误问题的答案。
相反,请考虑向用户显示大量数据的最佳方式是什么?
如果答案是分页,那么您已经解决了数据问题,因为您可以按视图加载调用。与无限滚动相同。如果需要优化后端负载,可以添加后端缓存层等。