无需 Redux 即可快速更改状态

IT技术 reactjs react-state-management
2021-05-02 20:31:26

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

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

你有什么建议吗?谢谢

1个回答

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


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

如果你不知道这是什么意思,看看这个答案

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

至于你的另一个问题:

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

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

作为继续“仅上下文”方式或任何状态管理解决方案之前的一般建议,您应该分析应用程序性能,主要是过早优化,并且“无用”渲染毫无意义。