无需 Redux 即可快速更改状态

Fast changing states without Redux

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

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

你有什么建议吗?谢谢

首先注意,Context API is not a state management tool.


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

If you don't know what does it mean,

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

关于你的另一个问题:

"Could be possible to create a complex react app without a third-party library to handle state management?"

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

作为在继续“仅上下文”方式或任何状态管理解决方案之前的一般建议,您应该分析应用程序性能,大多数情况下它只是 premature optimization,并且“无用”呈现是没有意义的。