Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在react redux上存储对象大小_Javascript_Reactjs_React Redux - Fatal编程技术网

Javascript 在react redux上存储对象大小

Javascript 在react redux上存储对象大小,javascript,reactjs,react-redux,Javascript,Reactjs,React Redux,在redux商店中放置许多物品是否存在性能问题? 例如,商店是这样的: { user:{...}, userDetail:{}, shoppingCart:{}, OrderDetail:{}, ... } 它的钥匙数量接近50件 我在我的项目中使用react-redux来存储任何数据,甚至是在我的应用程序的某个部分中使用的数据,并且这些数据都不是共享的。这与数据的大小和使用方式有关 数据大小 你说过你有大约50件物品。每个项目都是一个对象吗?它有20处

在redux商店中放置许多物品是否存在性能问题? 例如,商店是这样的:

{
    user:{...},
    userDetail:{},
    shoppingCart:{},
    OrderDetail:{},
    ...
}
它的钥匙数量接近50件


我在我的项目中使用react-redux来存储任何数据,甚至是在我的应用程序的某个部分中使用的数据,并且这些数据都不是共享的。

这与数据的大小和使用方式有关

数据大小

你说过你有大约50件物品。每个项目都是一个对象吗?它有20处房产吗?也许有两万套房子? 我使用redux处理了大约10000个复杂项目,每个项目有20-30个属性,并且没有遇到问题,但是您的数据/行为可能会非常不同

数据使用

你如何对待每一个变化?这是一个微小的改变,还是显著地改变了DOM?你使用redux吗

请记住,在性能方面,渲染通常比更新数据对象(即使是像redux store这样的大型数据对象)的成本要高得多,因此在更多情况下,它不是您的状态管理,而是您如何使用它

但是,这并不意味着您可能不会遇到问题,因此最好的方法是实际测试有问题的场景,可能是使用测试工具

一般来说,考虑到您正确使用redux,它被认为是一个高性能的状态管理系统:


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

性能方面,这实际上取决于每个元素的大小增长多少。我宁愿创建几个存储来保持代码的整洁。例如,购物车的商店、用户的商店等等。那么你的意思是使用状态或全局商店在性能上没有任何区别?全局商店是什么意思?我说可能不是关于redux,它有很好的性能,而是关于你如何使用它,是什么导致元素渲染当我说全局存储时,我指的是redux存储;我担心的是,在我的项目中导入redux和saga并使用它来管理存储时,会导致性能问题,因为它与状态不同;