React hooks:它们对共享状态管理有用吗,比如Redux?

Nur*_*yev 6 state-management reactjs redux react-hooks

有关于React钩子的炒作.太多的信息,我仍然不知道:钩子的出现是否意味着像Redux这样的库可以被扔到垃圾箱里?

到目前为止,我所理解的是钩子对于有状态的功能组件是有益的,共享状态呢?

Yan*_*Tay 12

不,钩子并不能完全消除对Redux的需求.钩子主要是作为实现我们今天必须使用类的功能的替代方法:

  1. 本地组件状态
  2. 上下文
  3. 生命周期方法和副作用

除了上述内容之外,钩子还提供了一种在组件之间共享有状态逻辑的更简单方法.

什么更可能杀死/替换Redux是上下文而不是钩子,这是一种跨组件共享状态的方法.但IMO上下文并不像Redux商店那样强大,因为除了中间件和具有时间旅行功能的专用devtool之外,Redux还提供其他功能.据我所知,还有一个围绕Redux建立的整个学习和工具生态系统,目前上下文没有.

如果您将useReducer钩子与此示例中的上下文结合使用,则与使用Redux和小型应用程序(如TodoMVC)非常相似,这可能就足够了.对于大型应用程序,我不认为只有一个上下文useReducer就足够了.您可能需要多个,这就是使用Redux和组合商店的地方.您还可以组合多个上下文和useReducer挂钩,但只使用Redux可能更干净.