无法解构 'object null' 的 属性 'uid',因为它为 null
Cannot destructure property 'uid' of 'object null' as it is null
所以我在 Angular 中有一个名为 appUser$ 的函数,错误说“无法解构 'object null' 的 属性 'uid',因为它是空的。”
get appUser$(): Observable<AppUser> {
return this.user$.pipe(
switchMap(({uid})=> this.userService.get(uid)));
}
然后我改成了:
get appUser$(): Observable<AppUser> {
return this.user$.pipe(
switchMap(({uid})=> {
if({uid}){
return this.userService.get(uid);
} else {
return of(null);
}
}));
}
但是还是不行,有什么想法吗?
参数作为对象包含在内有什么具体原因吗?解构问题源于这项任务。你可以尝试直接使用它
get appUser$(): Observable<AppUser> {
return this.user$.pipe(
switchMap(uid => this.userService.get(uid))
);
}
我不确定,但我认为您对函数参数有疑问:
我的意思是参数为 null,而您正试图从 null 获取 uid。
这样试试:
get appUser$(): Observable<AppUser> {
return this.user$.pipe(
switchMap((obj)=> {
if(obj && obj.uid){
return this.userService.get(obj.uid);
} else {
return of(null);
}
}));
}
所以我在 Angular 中有一个名为 appUser$ 的函数,错误说“无法解构 'object null' 的 属性 'uid',因为它是空的。”
get appUser$(): Observable<AppUser> {
return this.user$.pipe(
switchMap(({uid})=> this.userService.get(uid)));
}
然后我改成了:
get appUser$(): Observable<AppUser> {
return this.user$.pipe(
switchMap(({uid})=> {
if({uid}){
return this.userService.get(uid);
} else {
return of(null);
}
}));
}
但是还是不行,有什么想法吗?
参数作为对象包含在内有什么具体原因吗?解构问题源于这项任务。你可以尝试直接使用它
get appUser$(): Observable<AppUser> {
return this.user$.pipe(
switchMap(uid => this.userService.get(uid))
);
}
我不确定,但我认为您对函数参数有疑问: 我的意思是参数为 null,而您正试图从 null 获取 uid。
这样试试:
get appUser$(): Observable<AppUser> {
return this.user$.pipe(
switchMap((obj)=> {
if(obj && obj.uid){
return this.userService.get(obj.uid);
} else {
return of(null);
}
}));
}