userReducer Hook
我们会问他是干嘛的?
先来上个例子:
import React, { useReducer } from ‘react‘; function Counter() { const [sum, dispatch] = useReducer((state, action) => { return state + action; }, 0); return ( <> {sum} <button onClick={() => dispatch(1)}> Add 1 </button> </> ); }
我们先来理解下:
1)数组中有二个参数:sum及dispath, 对应用的是useReducer,这个里面接收二个值,一个是箭头函数,一个是默认值。
sum对应state,dispath对应action
2)这里的sum的默认值是0,也就是第二个参数,当我们dispatch(1)的时候,自动会计算state+action,一开始是0+1=1,然后是1+1=2
这样sum的值也是2,显示出来也是2。
state
可以是任何值,它不一定是一个对象,可以是一个数字,一个数组,或者其他任何类型。
原文:https://www.cnblogs.com/jiduoduo/p/14190810.html