在redux-store
中放入很多项目是否存在性能问题?
例如,商店是这样的:
{
user:{...},
userDetail:{},
shoppingCart:{},
OrderDetail:{},
...
}
它的按键数将近50个。
我在项目中使用react-redux
来存储任何数据(甚至在我的应用程序的一个部分中使用并且没有共享的数据)。
答案 0 :(得分:1)
这完全取决于数据的大小以及使用方式。
数据大小
您说过您大约有50件物品。每个项目都是对象吗?有20个属性吗?也许有20,000个属性? 我已经将redux用于大约10,000个复杂项目(每个属性20-30个属性),但是没有遇到问题,但是您的数据/行为可能有很大的不同
数据使用情况
您如何看待每个变更?效果是造成微小变化还是您对DOM进行了显着更改?您是否使用redux selectors?
请记住,在性能方面,渲染通常比更新数据对象(甚至是大型仓库,例如redux存储)要昂贵得多,因此在更多情况下,这不是您的状态管理,而是它的使用方式。
但是,这并不意味着您可能不会遇到问题,因此解决该问题的最佳方法是实际测试有问题的情况,可能使用benchmark {{3} }。
一般而言,考虑到您的使用正确,redux被认为是一种高性能的状态管理系统:
在需要时使用选择器,编写适当的reducer并将UI和数据有效地拆分到reducer等。