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