Reactjs 在PreloedState中找到意外的键,应改为找到一个已知的还原键

Reactjs 在PreloedState中找到意外的键,应改为找到一个已知的还原键,reactjs,redux,Reactjs,Redux,我试图将defaultState设置为一些伪json以创建一些选择列表: const initialState = { eventsHasErrored: false, eventsIsLoading: true, events: [], calendarView: 0, studentYears: [ { id: 1, title: "Year 1", options

我试图将defaultState设置为一些伪json以创建一些选择列表:

const initialState = {
    eventsHasErrored: false,
    eventsIsLoading: true,
    events: [],
    calendarView: 0,
    studentYears: [
        {
            id: 1,
            title: "Year 1",
            options: ["Firm 1", "Firm 2", "Firm 3"]
        },
        {
            id: 2,
            title: "Year 2",
            options: ["Firm 2", "Firm 3", "Firm 4"]
        },
        {
            Id: 4,
            title: "Year 3",
            options: ["Firm 5", "Firm 6", "Firm 7"]
        }
    ]
};

const reduxLogger = createLogger();

const store = createStore(
    rootReducer,
    initialState,
    applyMiddleware(thunk, reduxLogger)
);
我得到一个错误:

在预加载状态下发现意外的密钥studentYears,期望找到一个已知的还原键。

如何向组件添加一些伪json

// combineReducer
import { combineReducers } from "redux";
import {
    events,
    eventsHasErrored,
    eventsIsLoading,
    calendarView
} from "./events";
import navigationReducer from "./navigationReducer";

const rootReducer = combineReducers({
    events,
    eventsHasErrored,
    eventsIsLoading,
    calendarView,
    navigationReducer
});

export default rootReducer;
根据:

如果您使用组合减速器生产减速器,则这必须是普通减速器 与传递给它的关键帧具有相同形状的对象

所以你的初始状态应该是

    const initialState = {
        eventsHasErrored: false,
        eventsIsLoading: true,
        events: [],
        calendarView: 0,
        navigationReducer: {
          studentYears: [
              {
                  id: 1,
                  title: "Year 1",
                  options: ["Firm 1", "Firm 2", "Firm 3"]
              },
              {
                  id: 2,
                  title: "Year 2",
                  options: ["Firm 2", "Firm 3", "Firm 4"]
              },
              {
                  Id: 4,
                  title: "Year 3",
                  options: ["Firm 5", "Firm 6", "Firm 7"]
              }
          ]
        }
    };

假设
navigationReducer
包含
studentYears
对象

您是否使用combineReducer来形成rootReducer。它看起来怎么样更新了我的问题,谢谢。我想这个问题已经在这里得到了回答——看看吧