何时使用本机React.useReducer Hook及其与Redux的区别
因此,React
16.8中提供了挂钩。从他们的文档来看,Hooks可以替代功能组件中的状态。基本挂钩是:useState
,useEffect
,useContext
,但也有一些额外的钩子,其中之一是useReducer
,它看起来像它使用相同action-
dispatch的终极版做架构。
问题是,是否由于相似而取代Redux?
是否更适合特定项目?
哪里适合?
回答:
Redux是一个以特定方式鼓励数据流的库。
react-redux
另一方面,它实现了React友好的方法,并提供了许多中间件和包装器,因此库使用者不必自己设置整个过程。
虽然useReducer
这是Redux工作方式的一部分,但并不是全部。为了使您能够在组件中深入使用调度和状态,您仍然必须结合使用useContext
,useReducer
就像重新发明轮子一样。
最重要的是,useReducer
为您提供了一种dispatch
方法,您可以使用该方法将简单的旧对象作为操作进行分派。目前还没有办法添加middlewares
到这些,例如thunk
,saga
等等。
您也可以在应用程序中使用多个reducer,useReducer
但是将它们组合成一个单一商店的方法仍然必须由开发人员管理。
此外,React docs声明了状态逻辑复杂时useReducer
的替代方法useState
useReducer``useState
当您具有包含多个子值的复杂状态逻辑或下一个状态取决于上一个值时,通常更可取。useReducer
还可以让您优化触发深层更新的组件的性能,因为您可以传递调度而不是回调。
什么样钩useContext
,useReducer
做的是,他们消除对依赖Redux
于小型的应用程序。
以上是 何时使用本机React.useReducer Hook及其与Redux的区别 的全部内容, 来源链接: utcz.com/qa/431423.html