0

我有一个使用正确数据调用的操作 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;
  }
}

有谁知道我做错了什么?

4

0 回答 0