开发者问题收集

Reducer ngrx 未定义初始状态

2020-03-16
1408

我正在更新到 ngrx 8,我注意到在 reducer 函数中, state 参数的类型可以是 Stateundefined

https://ngrx.io/guide/store/reducers#creating-the-reducer-function

export function reducer(state: State | undefined, action: Action) {
  return scoreboardReducer(state, action);
}

undefined 可选类型有什么原因吗?

2个回答

第一次调用 Reducer 时,其状态为 undefined 。 完成后,您可以为该状态提供一个默认值。

timdeschryver
2020-03-16

我的看法是,它用于默认参数的类型检查。要设置 initialState,您可以执行

export function reducer(state: State | undefined = {}, action: Action) {
  return scoreboardReducer(state, action);
}

查看 = { 。如果 state 未定义,它将等于 {

您可以在未定义时设置 initialState ,也可以保留它。

AliF50
2020-03-16