Могу ли я изменить имена ключей состояния из редуктора? - PullRequest
0 голосов
/ 05 августа 2020

Прошу прощения, если это глупый вопрос, но я не уверен, как получить нужную мне функциональность, и документация, похоже, не включает ее.

Мой текущий rootReducer имеет следующую структуру состояний

export interface GameStatusState {
  gameLevel: number,
  playerHealth: number,
  playerCoins: number,
  playerMoves: number
}

Однако я бы хотел, чтобы это было так;

gameStatus: {
   gameLevel: number,
   playerHealth: number,
   playerCoins: number,
   playerMoves: number
}

Я могу добиться этого, используя:

combineReducers({gameStatus: rootReducer})

Но есть ли еще я могу это сделать обычным способом?

1 Ответ

0 голосов
/ 05 августа 2020

Именно так вы и должны это делать.

В Redux мы обычно делим лог c редуктора на основе «срезов» состояния. Структура состояния root определяется тем, что возвращает функция root reducer, и этот root reducer обычно генерируется с использованием combineReducers().

Итак, вызов combineReducers({someFieldName: someReducerFunction}) говорит, что мы хотим, чтобы наш root объект состояния должен иметь поле state.someFieldName, и обновления этого раздела состояния обрабатываются someReducerFunction.

Для получения дополнительных сведений см. Redux Состояние инициализации и Использование combineReducers страниц документации, а также нового "Redux Essentials" учебника по основной документации .

...