下面的代码就像useState(useReducer那样),但我找不到任何文件来解释原因。但是,我用调试器搞清楚了。
const reducer = (state,action) => {
return action;
};
const [email,setEmail] = useReducer(reducer,"");
这是因为减速器是如何编写的:
const reducer = (state,action) => {
return action;
};
调度值作为reducer中的第二个action
参数接收。新状态设置为从reducer返回的值,即action
。这样,useReducer
调度函数的工作方式与useState
状态setter相同。这大致是useState
内部发生的事情,因为它在内部使用useReducer
。
如果返回action
,它会表现不同。