react 键"mods"的切片缩减器在初始化期间返回未定义。(重)



减速器/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没有定义。。。因此,我只需要在调用操作时确保有效载荷没有未定义。

相关内容

  • 没有找到相关文章

最新更新