react hooks--useReducer用法

useReducer是useState的替代方案,我们可以用它来处理复杂逻辑的state。此外它还可以和useContxt结合实现Redux进行状态管理。

一、基础用法

const [state, dispatch] = useReducer(reducer, initialState, initializer);

state状态变量

dispatch用于触发reducer 函数

reducerreducer 函数,该函数接受state和action两个参数

initialState状态的初始值

initializer选填值。用于惰性提供初始状态

二、具体案例

通过useReducer实现数字的递增和递减操作。

import React, { useReducer } from 'react';
import './index.less';

function counter(count: number, action: string) {
  switch (action) {
    case 'inc':
      return count + 1;
    case 'dec':
      return count - 1;
    default:
      return count;
  }
}

const UseReducerExample: React.FC = () => {
  const [count, dispatch] = useReducer(counter, 0);

  return (
    <div className="box-wrap">
      <div>当前数字:{count}</div>
      <div>
        <button onClick={() => { dispatch('inc') }} >
          数字+1
        </button>
        <button onClick={() => { dispatch('dec') }} >
          数字-1
        </button>
      </div>
    </div>
  );
};

export default UseReducerExample;

三、效果展示

react hooks--useReducer用法

感谢您读完本文!如果本文对您有帮助,请点个赞呗,您的点赞是对我最大的支持和认可!

我的公众号:大前端教程,欢迎关注,会定期更新前端知识,希望能帮到您。

react hooks--useReducer用法

上一篇:React Hooks面试题


下一篇:React hooks 获取 dom 引用