Angular 减速器ngrx未定义初始状态

Angular 减速器ngrx未定义初始状态,angular,typescript,ngrx,Angular,Typescript,Ngrx,我正在更新到ngrx 8,我注意到在reducer函数中state参数的类型可以是state或undefined 未定义的可选类型有什么原因吗 我的意见是,它用于检查默认参数的类型。要设置initialState,可以执行以下操作 export function reducer(state: State | undefined = {}, action: Action) { return scoreboardReducer(state, action); } 查看={}。如果状态未定义,

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


未定义的
可选类型有什么原因吗

我的意见是,它用于检查默认参数的类型。要设置initialState,可以执行以下操作

export function reducer(state: State | undefined = {}, action: Action) {
  return scoreboardReducer(state, action);
}
查看
={}
。如果
状态
未定义,则它将等于
{}


您可以在未定义时设置
初始状态
,也可以将其保留。

我的意见是,它用于检查默认参数的类型。要设置initialState,可以执行以下操作

export function reducer(state: State | undefined = {}, action: Action) {
  return scoreboardReducer(state, action);
}
查看
={}
。如果
状态
未定义,则它将等于
{}


您可以在未定义时设置
初始状态
,也可以将其保留。

第一次调用减速机时,它处于
未定义
状态。
这样就可以为状态提供默认值。

第一次调用reducer时,它的状态为
未定义。

这样就可以为状态提供默认值。

但是显式指定它有什么意义呢?如果未定义,则应将其设置为未定义,而无需使用
|undefined
。?我猜,因为类型可以是
状态| undefined
。好的,因此,我们在这里使用
undefined
作为类型,但是
typeof undefined='undefined'
我不确定你的意思。但是明确指定它的意义是什么?如果它是未定义的,那么它应该被设置为未定义的,而不需要
|undefined
。?我猜因为类型可以是
状态| undefined
。好的,这里我们使用
undefined
作为类型,但是
类型的undefined='undefined'
我不确定你的意思。