e:减速器对不听的动作作出反应

时间:2017-11-08 18:52:39

标签: javascript reactjs redux redux-devtools redux-devtools-extension

我有一个动作FETCH_HABITS_SUCCESS,用正确的数据调用:

Action data

但是它影响了一个没有收听的减速器:

affects dates reducer

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;
  }
}

有没有人知道我可能做错了什么?

0 个答案:

没有答案