Fast changing states without Redux

Neg*_*oro 5 reactjs react-state-management

我正在开发一个具有快速变化状态和许多广播的网站,并且我正在尝试使用钩子和上下文创建自己的全局状态管理。我发现避免无用渲染的唯一解决方案是为每个状态创建两个上下文,一个用于状态更新器方法,一个用于状态本身。我最终得到了几十个上下文。

它看起来不像是一个好的设计,但我没有任何其他想法,我仍然认为可以创建一个复杂的反应应用程序,而无需第三方库来处理状态管理。

您有什么建议吗?谢谢

Den*_*ash 4

首先注意,Context API 不是一个状态管理工具


目前 ( v17) 没有针对 Context 消费者的救助。

如果你不知道这意味着什么,请查看这个答案

你是对的,你需要有多个上下文提供者来减少无用的渲染。

至于你的另一个问题:

“是否可以在没有第三方库来处理状态管理的情况下创建一个复杂的 React 应用程序?”

我正在 Facebook 上开发一个非常复杂的项目,我们仅使用 Context API 来管理它(我们也有无用渲染的情况,但这没关系),所以基本上答案是“是”。

作为采用“仅上下文”方式或任何状态管理解决方案之前的一般建议,您应该分析应用程序性能,大多数情况下这只是过早的优化,并且“无用”渲染是没有意义的。