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

标签 reactjs redux react-redux

reducers/index.js

import { combineReducers } from "redux";
import mods from "./mods.js";

export default combineReducers({ // <----- error comes from here
    mods
})

reducers/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
            }
    }
}

不知道为什么会这样,我做过类似的事情,但从未遇到过这个问题,我是 redux 的新手,所以这可能是一个愚蠢的错误......

//错误

错误:键“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
  }
}

关于reactjs - react 在初始化期间返回未定义键 "mods"的切片缩减器。 (还原),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68712074/

相关文章:

reactjs - 在 React 中使用 Firebase 9、Redux Toolkit 和 Typescript 令人头疼。 'dispatch' 不知何故具有类型 'never' ?

reactjs - 如何在 React JS 中创建全局可访问的变量

react-router - 使用 React Redux Router,我应该如何访问路由的状态?

javascript - Redux - 将项目添加到数组时连接新状态时出现问题

reactjs - 如何使用 Chart js v3 自定义插件中的选项

javascript - 单击reactjs中的按钮时不显示任何文本

javascript - Redux:组织容器、组件、 Action 和缩减器

javascript - 导入 redux store 未定义(加载顺序问题?)

javascript - Mapdispatchtoprops 没有为 props 提供功能

javascript - 如何在react-redux中传递处理程序