useReducer
JavaScript 中拿到Reducer:
不仅仅存在 Redux 中,可以使用 JavaScript 来完成Reducer 操作。reducer 其实就是一个函数,这个函数接收两个参数,一个是状态,一个用来控制业务逻辑的判断参数(state和 action )
useReducer ,它也是React Hooks 提供的函数,可以增强我们的 Reducer ,实现类似 Redux 的功能。
import React ,{useReducer } from 'react' function HReducer(){ const [count, dispatch] = useReducer((state, action) => { //dispatch派发action switch(action){ case 'add': return state+1 case 'sub': return state-1 default: return state } },0) //useReducer中传两个参数,reducer函数 和 state初始值 return ( <div> <h3>count:{count}</h3> <button onClick={()=>dispatch('add')}>+</button> <button onClick={()=>dispatch('sub')}>-</button> </div> ) } export default HReducer;