Я работаю с Firebase и у меня возникли некоторые проблемы. При создании нового пользователя я могу сохранить его в своей базе данных, но позже при доступе к другому компоненту происходит сбой.
//Register a new user in our system
registerUserByEmail(email: string, pass: string) {
return this.afAuth.auth
.createUserWithEmailAndPassword(email, pass)
.then(res => {
this.email = res.user.email;
let user = {
email: this.email,
goal: "",
previousGoals: [],
progress: {
accomplishedToday: false,
completedGoals: 0,
daysInRow: 0,
unlockedBadges: []
}
};
// store in database
new Promise<any>((resolve, reject) => {
this.firestore
.collection("users")
.add(user)
.then(
res => {
console.log(res.id);
this.isAuthenticated = true;
this.router.navigate(["/dashboard"]);
},
err => reject(err)
);
});
});
}
Я считаю, что этот фрагмент кода в основном регистрируется как пользовательотправить письмо и успешно сохранить его в моей базе данных (проверил его).
Тем не менее при рендеринге home.component
или /dashboard
home.component
ngOnInit() {
this.setAuthStatusListener();
this.getUser();
}
getUser() {
this.data.getUser().subscribe(user => {
this.user = user.payload.data();
});
}
data.service
getUser() {
return this.firestore
.collection("users")
.doc(this.currentUser.uid)
.snapshotChanges();
}
Я получаю следующую ошибку ОШИБКА
TypeError: Невозможно прочитать свойство 'uid'нуля
Сервис