【问题标题】:Angular firebase user error while using google authentication使用谷歌身份验证时出现 Angular Firebase 用户错误
【发布时间】:2021-12-12 19:43:09
【问题描述】:
import { Injectable } from '@angular/core';
import { AngularFireAuth } from '@angular/fire/compat/auth';
import * as firebase from 'firebase/auth';
import { Observable } from 'rxjs';
@Injectable({
  providedIn: 'root'
})
export class AuthService {
  user$:Observable<firebase.User> ;
  constructor(private afAuth: AngularFireAuth) { 
    this.user$ = afAuth.authState;
  }
  login(){
    this.afAuth.signInWithRedirect(new firebase.GoogleAuthProvider());
  }
  logout(){
    this.afAuth.signOut();
  }
}

我正在使用 angular 12 和 firebase 进行谷歌身份验证,但在 this.user$ = afAuth.authState; 附近出现错误; 键入'可观察' 不可分配给类型 'Observable'。 输入“用户 | null' 不可分配给类型“用户”。 类型“null”不能分配给类型“用户”

【问题讨论】:

    标签: angular typescript firebase-authentication observable google-authentication


    【解决方案1】:

    错误表明来自 Firebase 的用户可以为 null,而您的代码不允许这样做。

    最简单的解决方案是允许null 也通过将您的可观察对象更改为:

    user$:Observable<firebase.User?>;
    

    【讨论】:

    • 在 this.user$ = afAuth.authState; 处我仍然面临同样的错误;
    • 完全相同的错误?做出改变后,这似乎不太可能。我希望至少“Type 'null' is notassignable to type 'User'”部分消失了。
    • 嘿@SoumyoDeepto 这里有更新吗?
    猜你喜欢
    • 2023-03-14
    • 2018-01-01
    • 1970-01-01
    • 2021-05-24
    • 2020-12-03
    • 2016-09-15
    • 2016-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多