小编YSK*_*YSK的帖子

Zustand 和 Recoil 性能之间的概念差异是什么

我一直在研究ZustandRecoil——两个相对较新的状态管理库。

Recoil 被大力宣传为具有深度嵌套结构的 React 应用程序“非常高性能”。然而,我不知道它如何(或究竟如何)在性能方面优于 Zustand(除了并发模式)。

我可能会弄错,但这是我从文章和演讲中理解的:“为什么”Recoil 具有高性能的主要原因是您所做的任何更新只会触发相关组件重新渲染,而不会影响任何其他组件。Recoil 在设计上允许它并且开箱即用,而基于上下文的库必须通过整个树传递每个更改,对这些更改进行比较/协调,然后可能只重新渲染必须更改的内容。

现在,Zustand 根本不使用 Context API。因此,我假设(除了并发模式),它具有与 Recoil 相当的性能优势,其中 Zustand 只会“接触”相关组件,而不会通过整个组件树传递更改。

如果我的理解有误,请告诉我。这两个库在性能上是否具有可比性(没有并发模式)?或者,Recoil 的原子范式是否存在其他一些固有属性,使其在理论上具有优越的性能?

请注意:我希望答案不要过多地受到模式和实践的影响。我理解,有时范式的最大好处可能在于“它强制执行的健全模式”,但我感兴趣的不是它们强制执行的内容,而是它们允许通过类似的努力来做什么。例如,我知道平坦的标准化状态将允许 Zustand 获得更好的性能,并且 Zustand 不一定“强迫您以适当/可扩展的方式进行操作”。但我不希望正确模式的“可选性”成为一个缺点。

performance reactjs react-state-management recoiljs zustand

22
推荐指数
1
解决办法
4108
查看次数