React 的 useReducer 就是简单封装过的 useState 吗?是一种官方倡导的复杂情况状态处理思路?

33次阅读

共计 493 个字符,预计需要花费 2 分钟才能阅读完成。

刚接触 React 的时候就有些不太理解 useReducer 的用法,总感觉用起来比 useState 还要繁琐,而且有些不够直观,所以基本上也没有使用过。最近看了新版的 React 官网文档过后发现,甚至官方直接在文档里以留做习题的形式给出了一个用 useState 来实现的useReducer

import {useState} from 'react';

export function useReducer(reducer, initialState) {const [state, setState] = useState(initialState);

  function dispatch(action) {const nextState = reducer(state, action);
    setState(nextState);
  }

  return [state, dispatch];
}

所以 useReducer 就是简单封装过的 useState 吗?有什么单用 useState 做不到的事情吗?实际在开发中面对一个组件有多个参数状态需要分别控制的时候是使用一组 useState 比较多还是一个对象然后用 useReducer 来控制不同字段比较多?

正文完
 0