我可以通过reducer更改状态键名称吗?

时间:2020-08-05 18:35:06

标签: reactjs typescript redux

如果这是一个愚蠢的问题,我深表歉意,但是我不确定如何获得所需的功能,并且文档似乎未包含该功能。

我当前的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 :(得分:0)

这正是您应该做的。

在Redux中,我们通常根据状态的“切片”来划分化简器逻辑。根状态结构由根减速器函数返回的值定义,并且该根减速器通常使用combineReducers()生成。

因此,调用combineReducers({someFieldName: someReducerFunction})表示我们希望我们的根状态对象具有一个state.someFieldName字段,并且状态的该部分的更新由someReducerFunction处理。

有关更多详细信息,请参见Redux Initializing StateUsing combineReducers文档页面,以及新的"Redux Essentials" core docs tutorial