我有以下行动:
{type: "SET_GROUP", group: 68, categories: Array(3), year: 64}
在我的reducer中,我有以下代码:
case "SET_GROUP":
const { group } = action;
const showStudent = !checkEmptyArray(action);
return { ...state, group, showStudent };
但是,group
永远不会添加到州:
{year: 64, group: 0, student: 0, showStudent: true}
有什么想法吗?
减速机:
export function setCredentials(state = initialState, action) {
switch (action.type) {
case "SET_YEAR":
return {
...state,
year: action.year,
group: 0,
student: 0
};
case "SET_STUDENT":
return { ...state, student: action.student };
case "SET_GROUP":
const { group } = action;
const showStudent = !checkEmptyArray(action);
return { ...state, group, showStudent };
case "CLEAR_CREDENTIALS":
return initialState;
default:
return state;
}
}
的初始化状态:
const initialState = {
year: 0,
group: 0,
student: 0,
showStudent: false
};
答案 0 :(得分:0)
如果您没有使用任何保存/加载中间件(可能是原因,以防万一,您可以通过在浏览器的开发人员工具js控制台中执行localStorage.clear()
命令来解决它)
/>
就像对代码的测试一样,试试这个:
case "SET_GROUP":
const showStudent = !checkEmptyArray(action);
return {
...state,
group: action.group,
showStudent
};
并检查您的"SET_YEAR"
案例,其中还会修改group
和student
属性。这种做法,如果它变得更大(因为它实际上是一个"SET_YEAR_RESET_GROUP_RESET_STUDENT"
动作),可能会导致你一个凌乱的减速器实现