我正在尝试使用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)
但是我不知道该怎么办。
多数民众赞成在原始文件:
在您的方法中,您可以返回null,因此您也可以将user $ Observable声明为null或未定义
user$: Observable<User | null | undefined>;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句