键入“ Observable <用户| 空| undefined>'不能分配给类型'Observable <User>'

Cyr3xe

我正在尝试使用Firestorm创建Google登录。但是自从指南创建以来,很多事情还是有机会发生的,我找不到答案了:(

所以问题是:

export class AuthService {
  
  user$: Observable<User>; //This Observable can be NULL or undefined.

  constructor(
        private afAuth: AngularFireAuth,
        private afs: AngularFirestore,
        private router: Router
  ) {
    

    this.user$ = this.afAuth.authState.pipe(   //this one is not assignable to null or undefined
      switchMap(user => {
          // Logged in
        if (user) {
          return this.afs.doc<User>(`users/${user.uid}`).valueChanges();
        } else {
          // Logged out
          return of(null);
        }
      })
    )
    
   }
}

我总是收到这个错误:

键入“ Observable <用户| 空| undefined>'不能分配给'Observable'类型。键入“用户| 空| 未定义”无法分配给“用户”类型。类型'undefined'不能分配给类型'User'.ts(2322)

但是我不知道该怎么办。

多数民众赞成在原始文件:

https://fireship.io/lessons/angularfire-google-oauth/

RobrechtVM

在您的方法中,您可以返回null,因此您也可以将user $ Observable声明为null或未定义

  user$: Observable<User | null | undefined>;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

键入“ Observable <用户| 空| undefined>'不能分配给类型'Observable <User>'

来自分类Dev

使用Angular Route Guard时:'Observable <true | undefined>'不能分配给类型>'Observable <boolean>'

来自分类Dev

角拦截器-类型'Observable <未知>'不能分配给类型'Observable <HttpEvent <any >>'

来自分类Dev

键入“用户| 未定义”不能分配给“用户”类型

来自分类Dev

类型'Observable <UI [] | 不能将Promise <any >>'分配给类型'Observable <UI []>'。输入'UI [] | Promise <any>'不能分配给类型'UI []'

来自分类Dev

无法将Observable <{}>分配给类型Observable <SomeType []>

来自分类Dev

不能将void类型的函数分配给Observable <any>类型

来自分类Dev

类型'Observable <Observable <Response >>'不可分配给类型'Observable <Response>'

来自分类Dev

类型 'Observable<Observable<Object[]>>' 不可分配给类型 'Observable<Object[]>'

来自分类Dev

无法将类型\'Observable <{}> \'分配为键入角度2

来自分类Dev

输入 'Observable<any[] | Observable<any[]>>' 不可分配给类型 'Observable<any[]>'

来自分类Dev

输入'string | 编号| 空| undefined'不能分配给'null'类型

来自分类Dev

RXJS Observable 枚举类型,类型 'Observable<Type>' 不可分配给类型 'Type'

来自分类Dev

TS2322:类型“ Observable <{}>”不可分配给类型“ Observable <Hero>”

来自分类Dev

类型 Observable<boolean> 不可分配给类型 Observable<HttpResponse<boolean>>

来自分类Dev

错误 TS2322:类型“Observable<{}[]>”不可分配给类型“Observable<Archive[][]>”

来自分类Dev

JSX元素类型'ReactElement <any>不是JSX元素的构造函数。类型'undefined'不能分配给类型'Element | 空值'

来自分类Dev

无法将Rxjs类型Observable <Unknown>分配给Observable <void>

来自分类Dev

rxjs - [ts] 输入 'Observable<{} | T>' 不可分配给类型 'Observable<T>'

来自分类Dev

输入 '(token: string) => Observable<{ headers: HttpHe aders; }>' 不可分配给类型 'Observable<any>'

来自分类Dev

类型'Observable <Promise <any >>'不可分配给类型'Observable <myRec []>'。缺少类型“ Promise <any>”

来自分类Dev

类型“ Observable <any>”不可分配给类型“ StoresSummaryResults”。类型“ Observable <any>”中缺少属性“ Data”

来自分类Dev

类型 'Date' 不可分配给类型 'Observable<Date>' - Angular 6+

来自分类Dev

如何将自定义模型类型分配给淘汰赛 observable?

来自分类Dev

输入'可观察的<{} | IProduct[]>' 不可分配给类型 'Observable<IProduct[]>'

来自分类Dev

Angular 6 GridDataResult' 不可分配给类型 'Observable<GridDataResult>

来自分类Dev

可观察的<void | AuthError>' 不可分配给类型 'Observable<Action>

来自分类Dev

类型'undefined'不能分配给'never'类型

来自分类Dev

Angular + Firebase:将Observable <Object []>分配给MatTableDataSouce <Object>

Related 相关文章

  1. 1

    键入“ Observable <用户| 空| undefined>'不能分配给类型'Observable <User>'

  2. 2

    使用Angular Route Guard时:'Observable <true | undefined>'不能分配给类型>'Observable <boolean>'

  3. 3

    角拦截器-类型'Observable <未知>'不能分配给类型'Observable <HttpEvent <any >>'

  4. 4

    键入“用户| 未定义”不能分配给“用户”类型

  5. 5

    类型'Observable <UI [] | 不能将Promise <any >>'分配给类型'Observable <UI []>'。输入'UI [] | Promise <any>'不能分配给类型'UI []'

  6. 6

    无法将Observable <{}>分配给类型Observable <SomeType []>

  7. 7

    不能将void类型的函数分配给Observable <any>类型

  8. 8

    类型'Observable <Observable <Response >>'不可分配给类型'Observable <Response>'

  9. 9

    类型 'Observable<Observable<Object[]>>' 不可分配给类型 'Observable<Object[]>'

  10. 10

    无法将类型\'Observable <{}> \'分配为键入角度2

  11. 11

    输入 'Observable<any[] | Observable<any[]>>' 不可分配给类型 'Observable<any[]>'

  12. 12

    输入'string | 编号| 空| undefined'不能分配给'null'类型

  13. 13

    RXJS Observable 枚举类型,类型 'Observable<Type>' 不可分配给类型 'Type'

  14. 14

    TS2322:类型“ Observable <{}>”不可分配给类型“ Observable <Hero>”

  15. 15

    类型 Observable<boolean> 不可分配给类型 Observable<HttpResponse<boolean>>

  16. 16

    错误 TS2322:类型“Observable<{}[]>”不可分配给类型“Observable<Archive[][]>”

  17. 17

    JSX元素类型'ReactElement <any>不是JSX元素的构造函数。类型'undefined'不能分配给类型'Element | 空值'

  18. 18

    无法将Rxjs类型Observable <Unknown>分配给Observable <void>

  19. 19

    rxjs - [ts] 输入 'Observable<{} | T>' 不可分配给类型 'Observable<T>'

  20. 20

    输入 '(token: string) => Observable<{ headers: HttpHe aders; }>' 不可分配给类型 'Observable<any>'

  21. 21

    类型'Observable <Promise <any >>'不可分配给类型'Observable <myRec []>'。缺少类型“ Promise <any>”

  22. 22

    类型“ Observable <any>”不可分配给类型“ StoresSummaryResults”。类型“ Observable <any>”中缺少属性“ Data”

  23. 23

    类型 'Date' 不可分配给类型 'Observable<Date>' - Angular 6+

  24. 24

    如何将自定义模型类型分配给淘汰赛 observable?

  25. 25

    输入'可观察的<{} | IProduct[]>' 不可分配给类型 'Observable<IProduct[]>'

  26. 26

    Angular 6 GridDataResult' 不可分配给类型 'Observable<GridDataResult>

  27. 27

    可观察的<void | AuthError>' 不可分配给类型 'Observable<Action>

  28. 28

    类型'undefined'不能分配给'never'类型

  29. 29

    Angular + Firebase:将Observable <Object []>分配给MatTableDataSouce <Object>

热门标签

归档