react 进阶必学 hook (五):额外的hook

本文是React Hook进阶系列的第五篇,详细讲解了useReducer在复杂状态管理中的应用,useCallback和useMemo如何优化函数及性能,以及useRef、useImperativeHandle、useLayoutEffect和useDebugValue的使用场景和实践案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系列文章传送门:

react 进阶必学 hook (一):useState 来一碗大碗宽面

react 进阶必学 hook (二):useEffect 专治不吃宽面

react 进阶必学 hook (三):useContext 面馆分店开张了

react 进阶必学 hook (四):自定义hook

react 进阶必学 hook (五):额外的hook

在这里插入图片描述

useReducer使用

围绕state,如果存在多个功能操作改state进行状态的更改,且更改状态时用得方法彼此独立,那么使用useState就会比较麻烦,且逻辑容易写的比较分散不方便管理;这时我们可以使用useReducer代替useState管理状态。

const [state, dispatch] = useReducer(reducer, initialArg, init);

用过redux的应该很熟悉这种用法,对于state状态这里提供一个触发器dispatch方法,reducer是一个用来匹配状态的更改方法,下面是官网提供的计数器的例子中的reducer

function reducer(state, action) {
   
   
  switch (action.type) {
   
   
    case 'increment':
      return {
   
   count: state.count + 1};
    case 'decrement':
      return {
   
   count: state.count - 1};
    default:
      throw new Error();
  }
}

ps:了解过函数式编程的模式匹配,这应该就是用到了模式匹配。

reducer函数通过action来判断匹配更改状态的方法

const initialSt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值