类型 'Observable<User | null | undefined>' 不可分配给类型 'Observable<User>'
Type 'Observable<User | null | undefined>' is not assignable to type 'Observable<User>'
我正在尝试使用 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);
}
})
)
}
}
我总是收到这个错误:
Type 'Observable<User | null | undefined>' is not assignable to type
'Observable'. Type 'User | null | undefined' is not assignable
to type 'User'.
Type 'undefined' is not assignable to type 'User'.ts(2322)
但我不知道要做什么。
这是原始文档:
在您的方法中,您可能 return null 因此您也可以将 user$ Observable 声明为 null 或 undefined
user$: Observable<User | null | undefined>;
我正在尝试使用 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);
}
})
)
}
}
我总是收到这个错误:
Type 'Observable<User | null | undefined>' is not assignable to type 'Observable'. Type 'User | null | undefined' is not assignable to type 'User'. Type 'undefined' is not assignable to type 'User'.ts(2322)
但我不知道要做什么。
这是原始文档:
在您的方法中,您可能 return null 因此您也可以将 user$ Observable 声明为 null 或 undefined
user$: Observable<User | null | undefined>;