其他分享
首页 > 其他分享> > React useState和useReducer不同的应用场景思考

React useState和useReducer不同的应用场景思考

作者:互联网

一、useState和useReducer都是用来管理state的,useReducer更多的时候与useContext搭配起来用。

   useState: 原来的类组件只支持一个setState方法,useState把各个状态独立分开管理,提供了更细的粒颗度模块化管理。

   useReducer: 是阉割版的 redux,只缺省一个状态的共享能力,与useContext 搭配刚刚好。useReducer适合局部数据流。

其实useState是useReducer的一个子集,useState 返回的函数内部封装了一个 dispatch。

二、useReducer( 单个组件中用的少,太重了)

   官方的定义:在某些场景下,useReducer 会比 useState 更适用,例如 state 逻辑较复杂且包含多个子值(注意且字),或者下一个 state 依赖于之前的 state 等。并且,使用 useReducer 还能给那些会触发深更新的组件做性能优化,因为你可以向子组件传递 dispatch 而不是回调函数 。

标签:useReducer,dispatch,React,state,useState,组件,useContext
来源: https://blog.51cto.com/u_10976476/2845732