我相信我正在复制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)
]
}
}
我添加了logging语句,可以验证它是否返回一个空数组。即使将状态设置为1也会产生相同的结果。我错过了什么?
答案 0 :(得分:16)
您错过了开关案例的default
。
default: {
return {
...state
}
}
如果你忘了这么做,Redux就不会像一个好孩子一样玩耍!
或者,您可以在结束时显式返回初始状态:
If the state passed to the reducer is undefined, you must explicitly return the initial state.