Как получить доступ к глобальному состоянию из CombineReducers с редукционным циклом?

Я использую react-loop, и я пытаюсь использовать его combReducers, но расширяю его, чтобы передать в качестве третьего параметра глобальное состояние, в основном реализуя API, аналогичный https://github.com/Velenir/combine-reducers- глобальное состояние

Объединение редукторов в основном вызывает дочерние редукторы, как мы можем найти в его коде.

      let currentChild = childReducer(prev[key], action, ...args);

Идея состоит в том, чтобы передать туда третий параметр, поэтому , action, plainState, ...argsчтобы редуктор получил его как параметр. Проблема заключается в том, как создать это plainState, поскольку rootState в основном представляет собой комбинацию массива формы ([state, Cmd]), вместо этого мне нужно только простое состояние без переменных обработчика избыточного цикла.

1 ответ

Вам придется написать свою собственную версию combReducers. Ожидается, что поставляемый не будет работать за пределами простейшего случая. Однако вы можете взять за основу поставляемый. https://github.com/redux-loop/redux-loop/blob/master/src/combine-reducers.js . Я предполагаю, что вы можете реализовать его аналогично упомянутой вами библиотеке.

Если вы ищете способ внедрить другие значения состояния в редюсер, ознакомьтесь с этим промежуточным программным обеспечением, которое я использовал с редукционным циклом в течение нескольких лет. https://github.com/bdwain/redux-action-enhancer

Отказ от ответственности: я поддерживаю как редукционные петли, так и редукционные усилители действия.

Другие вопросы по тегам