将对象大小存储在react-redux上

时间:2019-07-01 09:46:36

标签: javascript reactjs react-redux

redux-store中放入很多项目是否存在性能问题? 例如,商店是这样的:

{
    user:{...},
    userDetail:{},
    shoppingCart:{},
    OrderDetail:{},
    ...
}

它的按键数将近50个。

我在项目中使用react-redux来存储任何数据(甚至在我的应用程序的一个部分中使用并且没有共享的数据)。

1 个答案:

答案 0 :(得分:1)

这完全取决于数据的大小以及使用方式。

数据大小

您说过您大约有50件物品。每个项目都是对象吗?有20个属性吗?也许有20,000个属性? 我已经将redux用于大约10,000个复杂项目(每个属性20-30个属性),但是没有遇到问题,但是您的数据/行为可能有很大的不同

数据使用情况

您如何看待每个变更?效果是造成微小变化还是您对DOM进行了显着更改?您是否使用redux selectors

请记住,在性能方面,渲染通常比更新数据对象(甚至是大型仓库,例如redux存储)要昂贵得多,因此在更多情况下,这不是您的状态管理,而是它的使用方式

但是,这并不意味着您可能不会遇到问题,因此解决该问题的最佳方法是实际测试有问题的情况,可能使用benchmark {{3} }。

一般而言,考虑到您的使用正确,redux被认为是一种高性能的状态管理系统:

在需要时使用选择器,编写适当的reducer并将UI和数据有效地拆分到reducer等。