大规模 JS 应用中的 Redux 性能



我最近开始研究 redux,几个小时后,我脑海中浮现出关于 redux 在大规模 Web 应用程序中的性能的问题。

我的问题是,由于 Redux 随着时间的推移维护存储的先前状态,假设应用程序足够大并且随着时间的推移有大量的状态更改,它不会降低应用程序的性能,因为随着时间的推移内存消耗不断增加以维护所有以前的状态?

仅供参考:我正在考虑基于垃圾收集的Java背景,并在一段时间后释放未使用的内存。

假设您使用不可变的数据结构,例如不可变.js提供的数据结构,那么在添加或更新现有数据结构时,除了跟踪引用之外,记住以前的状态不会产生额外费用。这是使用不可变数据结构的一大优势。当然,当状态更改包括用其他内容替换完整状态时,这些优势会得到缓解。

也就是说,您不必跟踪以前的状态,使用不可变的数据结构来跟踪它更容易、更有效。

此外,默认情况下,Redux 不记得以前的状态,这仅在 redux devtools 中使用,它提供了您似乎瞄准的"时间旅行"功能。这在开发过程中非常方便。

最新更新