Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.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_Redux - Fatal编程技术网

Javascript React/Redux大型实时数据列表性能

Javascript React/Redux大型实时数据列表性能,javascript,reactjs,redux,Javascript,Reactjs,Redux,目前,我有一个大的数据列表(500行),有时许多记录可以在一秒钟内更新。我正在使用firebase的实时数据库。我正在使用React和Redux,基本上每当记录发生更改时,我都会触发一个调度事件来更新我的应用程序中的状态。当有许多记录被更新时,速度会减慢,浏览器几乎崩溃 我已将性能问题缩小到试图一次调度200多个操作。但由于是websockets/firebase,我无法分组获得这些更新 我想知道是否有一个库可以用来将分派请求排队,并按顺序一次更新一个状态。而不是试图一次完成所有的事情 在Red

目前,我有一个大的数据列表(500行),有时许多记录可以在一秒钟内更新。我正在使用firebase的实时数据库。我正在使用React和Redux,基本上每当记录发生更改时,我都会触发一个调度事件来更新我的应用程序中的状态。当有许多记录被更新时,速度会减慢,浏览器几乎崩溃

我已将性能问题缩小到试图一次调度200多个操作。但由于是websockets/firebase,我无法分组获得这些更新


我想知道是否有一个库可以用来将分派请求排队,并按顺序一次更新一个状态。而不是试图一次完成所有的事情

在Redux开发工具也在运行的开发过程中,这些问题是否偶然发生

Redux在处理大型数据集方面进行了相当优化(特别是在数据结构正常化的情况下)。但是,如果您正在调度大量操作,并且Redux存储中也有大量数据,那么使用Redux开发工具可能会给人一种性能差的错误印象

在应用程序的生产构建中,在特定时刻只有一个Redux状态实例。因此,三个Redux原则中的第一个;唯一的真相来源

然而,在开发中使用Redux开发工具的不同之处在于,开发工具会保存您的操作历史记录以及您触发的每个操作分派的状态。这随后会导致大量的数据填满浏览器的内存,从而产生性能不佳的感觉

您还可以查看,其中有一些关于如何优化应用程序的进一步建议

如果您还想向我们展示您的数据在reducer中的结构,或者您如何处理您的行动调度,也许我们可以提出进一步的建议以提高您的性能。

Hi这可能会帮助您: