减速器/index.js
import { combineReducers } from "redux";
import mods from "./mods.js";
export default combineReducers({ // <----- error comes from here
mods
})
减速器/mods.js
import { GET_MODS } from "../actions/types"
const initialState = {
mods: [],
}
export default function(state = initialState, action) {
switch(action.type) {
case GET_MODS:
return {
...state,
mods: action.payload
}
}
}
不知道为什么会发生这种情况,我做过类似的事情,但从未遇到过这个问题,我是新手,所以这可能是一个愚蠢的错误。。。
//错误
错误:键"的切片缩减器;mods";在初始化期间返回未定义。如果传递给reducer的状态未定义,则必须显式返回初始状态。初始状态不能未定义。如果您不想为该reducer设置值,可以使用null而不是undefined。
尝试添加默认情况
export default function (state = initialState, action) {
switch (action.type) {
case GET_MODS:
return {
...state,
mods: action.payload
}
default:
return state
}
}
您可能忘记了包含默认案例。可能是这样的:
import { GET_MODS } from "../actions/types"
const initialState = {
mods: [],
}
export default function(state = initialState, action) {
switch(action.type) {
case GET_MODS:
return {
...state,
mods: action.payload
}
default:
return state
}
}
}
我也遇到了同样的问题,问题是action.payload
没有定义。。。因此,我只需要在调用操作时确保有效载荷没有未定义。