[英]Redux reducer error - assign MUST be an object
I get the following error in my reducer return
statement. 我的减速机return
语句中出现以下错误。
In this environment the sources for assign MUST be an object. 在这种环境下,分配源必须是一个对象。 This error is a performance optimization and not spec compliant. 此错误是性能优化,不符合规范。
export function setCredentials(state = {}, action) {
switch (action.type) {
case "SET_YEAR":
return { ...state, ...action.setYear };
case "SET_STUDENT":
return { ...state, ...action.setStudent };
case "SET_GROUP":
return { ...state, ...action.setGroup };
default:
return state;
}
}
Action creators: 动作创作者:
export const setYear = int => ({
type: "SET_YEAR",
setYear: int
});
export const setGroup = int => ({
type: "SET_GROUP",
setGroup: int
});
export const setStudent = int => ({
type: "SET_STUDENT",
setStudent: int
});
I am trying to create the following state: 我正在尝试创建以下状态:
{
setCredentials: {
setYear: 20,
setStudent:10,
setGroup: 10
}
}
Any ideas? 有任何想法吗?
Reducer/index.js 减速/ index.js
import { combineReducers } from "redux";
import {
setCredentials,
fetchCategories,
eventsForMonth,
fetchEvents
} from "./events";
import { hasErrored, isLoading } from "./loader";
import navigationReducer from "./navigationReducer";
const rootReducer = combineReducers({
fetchEvents,
navigationReducer,
hasErrored,
eventsForMonth,
isLoading,
fetchCategories,
setCredentials
});
export default rootReducer;
Store: 商店:
import rootReducer from "../reducers";
const initialState = {
hasErrored: false,
isLoading: true,
fetchEvents: {},
fetchCategories: [],
setCredentials: {}
};
const reduxLogger = createLogger();
const store = createStore(
rootReducer,
initialState,
applyMiddleware(thunk, reduxLogger)
);
export default store;
In your reducers you're trying to destructure values, not objects. 在化简器中,您尝试破坏值,而不是对象。 You'll understand it on seeing this proposed change: 看到此建议的更改,您将理解它:
export function setCredentials(state = {}, action) {
switch (action.type) {
case "SET_YEAR":
return { ...state, setYear: action.setYear };
case "SET_STUDENT":
return { ...state, setStudent: action.setStudent };
case "SET_GROUP":
return { ...state, setGroup: action.setGroup };
default:
return state;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.