我有一个使用正确数据调用的操作 FETCH_HABITS_SUCCESS:
但它会影响不听它的减速器:
Dates reducer 不听 FETCH_HABIT_SUCCESS。上一张图片的差异中显示的数据应该是来自 UNMARK_SUCCESS 的数据(执行时间线后面的两个操作)。
出于某种原因,当调用 FETCH_HABIT_SUCCESS 时,会发生 UNMARK_SUCCESS 动作真正的修改,至少开发工具显示的是这样。我已经检查过我所有的减速器都不会改变状态。我总是复制状态。Reactiflux 的人已经检查过我也没有改变状态。
代码:
日期缩减器:https ://www.pastiebin.com/5a03538e98322 习惯缩减器:
export default function habits(state = {}, action) {
const newState = { ...state };
switch (action.type) {
case 'FETCH_HABITS_SUCCESS':
action.habits.forEach(habit => { newState[habit.id] = habit; });
return newState;
case 'ADD_HABIT_SUCCESS':
case 'EDIT_HABIT_SUCCESS':
newState[action.habit.id] = action.habit;
return Object.assign({}, state, newState);
case 'DELETE_HABIT_SUCCESS':
delete newState[action.habit_id];
return newState;
default: return state;
}
}
有谁知道我做错了什么?