类型参数不可分配给“OperatorFunction<unknown[]>”类型的参数
Posted
技术标签:
【中文标题】类型参数不可分配给“OperatorFunction<unknown[]>”类型的参数【英文标题】:Argument of type is not assignable to parameter of type 'OperatorFunction<unknown[]>' 【发布时间】:2020-07-24 14:40:29 【问题描述】:我最近更新到 Angular 9 并在我的 user.effects.ts 文件中不断收到此错误:
ERROR in src/app/modules/core/store/user/user.effects.ts:30:9 - error TS2345: Argument of type 'OperatorFunction<IUser, payload: Partial<IUser>; & TypedAction<"[Use
r] Data Received">>' is not assignable to parameter of type 'OperatorFunction<unknown[], payload: Partial<IUser>; & TypedAction<"[User] Data Received">>'.
Type 'IUser' is missing the following properties from type 'unknown[]': length, pop, push, concat, and 26 more.
30 map(
~~~~
31 (data: IUser) => UserActions.dataReceived( payload: UserService.parseData(data) )
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32 )
我的代码如下:
@Effect()
getData$ = this.actions$.pipe(
ofType(UserActions.getData),
switchMap(() =>
return this.userService.getUserById(localStorage.getItem('uid')).pipe(
map(
(data: IUser) => UserActions.dataReceived( payload: UserService.parseData(data) )
)
);
)
);
【问题讨论】:
【参考方案1】:你的代码应该是
new UserActions.dataReceived( payload: UserService.parseData(data) )
如果您还有任何问题,请告诉我
【讨论】:
以上是关于类型参数不可分配给“OperatorFunction<unknown[]>”类型的参数的主要内容,如果未能解决你的问题,请参考以下文章
构建:'string | 类型的参数1' 不可分配给“字符串”类型的参数
构建:'string | 类型的参数1' 不可分配给“字符串”类型的参数
JWT:'string | 类型的参数undefined' 不可分配给'Secret' 类型的参数