Gimir
@Gimir
JavaScript dev

Как соединить два редюсера чтобы они были на одном уровне?

Добрый день! Такая проблема, дорабатываем одни проект, там из другого проекта импортируется reducer и уже в данном проекте создается стор. Эти два проекта связаны, просто нет возможности редактировать второй, из которого берется этот редюсер. Это блокирует возможность использовать редакс в дорабатываемом проекте, так как, когда я пытаюсь соединить свой редюсер и редюсер из другого проекта, появляется вложенность. Из-за вложенности ошибки, из другого проекта, типа undefined, не удалось найти то или иное свойство у undefined...
редюсер_из_другого_проекта: редюсер,
мой_редюсер: редюсер

Вопрос, можно ли соединить эти два редюсера так, чтобы не было этой вложенности, которую создает combineReducers?
  • Вопрос задан
  • 218 просмотров
Решения вопроса 1
Gimir
@Gimir Автор вопроса
JavaScript dev
Если кому будет нужно, то вот как я это сделал:

Сперва попытался использовать reduceReducers из библиотеки reduce-reducers, но у меня это по каким-то причинам не получилось, функция обрабатывала только второй редюсер.
В итоге написал функцию, которая вызывала оба редюсера и возвращала объединенный стейт:
const reducers = (state, action) => {
  return {
    ...otherReducer({state: state.other_reducer}, action),
    ...myReducer({state: state.myReducer} , action)
  }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы