e: Редуктор реагирует на действие, которое он не слушает
У меня есть действие FETCH_HABITS_SUCCESS, которое вызывается с правильными данными:
но это влияет на редуктор, который не слушает его:
Редуктор даты не слушает FETCH_HABIT_SUCCESS. Данные, показанные в разнице с предыдущего изображения, должны быть данными из UNMARK_SUCCESS (два действия позже на временной шкале выполнения).
По какой-то причине реальные изменения действия UNMARK_SUCCESS происходят при вызове FETCH_HABIT_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;
}
}
Кто-нибудь имеет представление о том, что я могу делать не так?