【发布时间】:2020-02-13 16:02:33
【问题描述】:
作为钩子的新手,我正在转换一些具有多个状态属性的旧代码,并且在搜索如何减少我最初设置的 useState 钩子的数量时遇到了这段代码(丢失了链接)。以下 useReducer 挂钩代码按预期工作。我想我知道状态值是通过 setState (dispatch) 更新的,我想要弄清楚的是 reducer 的第二个参数如何使用扩展语法实际复制 state 和 newState 之间的值。我看过的所有示例都使用了 switch 语句和返回新状态的各种操作。 React 是否在后台做一些事情来完成这个副本?如果有人能解释 ...newState 如何作为减速器的操作工作,将不胜感激:
const reducer = (state, newState) => ({ ...state, ...newState });
const [state, setState] = useReducer(reducer, initialState);
【问题讨论】:
标签: reactjs react-hooks react-state