Должно ли порядок компоновок редукторов в combReducers иметь значение при создании приложения с избыточностью? - PullRequest
0 голосов
/ 26 февраля 2019

Правильно ли при создании приложения-редуктора находить зависимости между редукторами, передаваемыми объекту combReducers?Если быть более точным, если у меня есть два редуктора, которые обрабатывают разные части состояния, но оба слушают одно и то же действие, правильно ли (или возможно) расположить редукторы так, чтобы R1 обрабатывался до R2?Или это помечает возможный недостаток дизайна?

Ответы [ 2 ]

0 голосов
/ 25 апреля 2019

Насколько я писал редукторы, порядок их размещения в вызове combineReducers() не имеет значения.

У вас может быть что-то похожее на это:

import { combineReducers } from "redux";
import { reducer as formReducer } from "redux-form";
import authReducer from "./authReducer";

export default combineReducers({
  auth: authReducer,
  form: formReducer
});

ЗамечаниеУ меня есть formReducer из Redux Form, который не является редуктором, который вы бы выписали вручную в вашей папке reducers/, но поставляется с библиотекой Redux Form и также заметил, что сначала я импортировал formReducer, но я назначил ему второе место внутриcombineReducers объект, поэтому нет, порядок не требуется.

0 голосов
/ 26 февраля 2019

Должно ли порядок компоновок редукторов в combReducers иметь значение при создании приложения с избыточностью?

Нет.combineReducers() это просто отображение, а не упорядоченный список.

Правильно ли (или возможно) расположить редукторы так, чтобы R1 обрабатывался до R2?Или это помечает возможный недостаток проекта?

Между редукторами вообще не должно быть никаких зависимостей.Если есть зависимость, это будет недостатком проекта.

Редукторы просто заинтересованы в обновлении уникальной части или фрагмента всего state объекта на основе действия.

Если выдля последовательного обновления состояния установите флажок или попросите компонент отправить два отдельных действия последовательно.

...