TypeScript:如何将匿名类型传递到尖括号中?

时间:2018-11-17 18:50:53

标签: reactjs typescript

示例:

    canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean{
    const self = this;
    const expectedType = "type1";
    retrun new Promise(res => {
      this.authservice.isUserAuthenticatedbyType(expectedType).then(
        function (data) {
          if (data === false) {
            console.log(data);
            self.router.navigate(['/'], { relativeTo: self.route });
          }
          res(data);
        },
        function (error) {
          self.router.navigate(['/']);
          res(false);
        }
      );
    });
  }

我知道一种解决方案是将prop的类型重构为命名接口,但是也可以通过这种方式完成(无需重复类型定义)吗?

1 个答案:

答案 0 :(得分:0)

您可以重复相同的类型。如果两次描述相同类型,则将它们视为兼容。

显然,在这种情况下,命名类型更为优雅,但是您知道这一点。