目前我有一个庞大的数据列表(500行),有时可以在一秒钟内更新许多记录。我正在使用firebase的实时数据库。我正在使用React和Redux,基本上每当记录被更改时,我都会触发一个调度事件来更新我的应用程序中的状态。当有许多记录被更新时,它会变慢并几乎崩溃浏览器。
我已经缩小了我的性能问题,试图一次发出200多个动作。但由于它是websockets / firebase,我无法分组获取这些更新。
我想知道是否有一个要使用的库,它将按顺序对调度请求进行排队并一次更新一个状态。而不是试图一次完成所有这一切。
答案 0 :(得分:0)
在Redux开发工具的开发过程中,这些问题是否也在运行?
Redux经过优化处理大型数据集(特别是在规范化数据结构时)。但是,如果您要在Redux存储中调度大量操作并且还有大量数据,则使用Redux开发工具可能会对性能不佳产生一些错误的印象。
在应用程序的生产版本中,在特定时刻只会有一个Redux状态实例。因此,三个Redux原则中的第一个;单一的事实来源。
然而,在开发中使用Redux-dev工具时的不同之处在于开发工具会记录您的操作历史以及您触发的每个操作调度的状态。这随后会导致大量的数据填满浏览器的内存,从而使人们感觉性能不佳。
您还可以查看Redux documentation on performance,其中提供了有关如何优化应用的更多建议。
如果您还想向我们展示您的减速机中数据的结构,或者您处理行动调度的方式,也许我们可以提出进一步的建议来改善您的表现。