我相信我正在复制Todo教程几行,我收到此错误:
错误:Reducer"addReport"在初始化期间返回undefined.如果传递给reducer的状态未定义,则必须显式返回初始状态.初始状态可能不是未定义的.
这是我的addReport reducer:
const addReport = (state = [], action) =>
{
console.log(state)
switch (action.type) {
case ADD_NEW_REPORT:
return [...state,
addReports(undefined, action)
]
}
}
Run Code Online (Sandbox Code Playgroud)
我添加了logging语句,可以验证它是否返回一个空数组.即使将状态设置为1也会产生相同的结果.我错过了什么?
Elo*_*pos 17
你错过default了开关盒的情况.
default: {
return {
...state
}
}
Run Code Online (Sandbox Code Playgroud)
如果你忘了这么做,Redux就不会像一个好孩子一样玩耍!
或者,您可以在结束时显式返回初始状态:
If the state passed to the reducer is undefined, you must explicitly return the initial state.