类型参数不可分配给“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' 不可分配给“字符串”类型的参数

PhpStorm 警告:参数类型不可分配给参数类型

JWT:'string | 类型的参数undefined' 不可分配给'Secret' 类型的参数

类型参数 static: boolean; 不可分配给 read?: any 类型的参数

如何解决“null”类型的参数不可分配给“GoogleUser |”类型的参数不明确的'