Я пытаюсь создать новый документ в своей коллекции «users» в Firebase для любого нового пользователя, созданного на экране «Регистрация» для моего приложения React-Native, и этот документ должен включать в себя uid нового пользователя, имя , фамилия, номер телефона и дата рождения. Проблема заключается в том, что после того, как я использую createUserWithEmailAndPassword для создания пользователя, когда я пытаюсь получить uid с помощью currentUser.uid, я получаю следующую ошибку: null не является объектом (вычисляя _Firebase.default.auth (). CurrentUser.uid. ').
Я экспериментировал со способами получения "uid" нового пользователя в операторе .then, следующем за createUserWithEmailAndPassword, а также с созданием нового документа в операторе .then, но мне не повезло с этим еще. Как мне изменить свой код, чтобы я мог успешно создавать новый документ "users" после успешного создания пользователя?
Ниже приведен мой код из функции handleSignUp, которая вызывается при моем "Sign Up" нажата кнопка:
handleSignUp = () => {
Firebase.auth()
.createUserWithEmailAndPassword(this.state.email, this.state.password)
.then(() => this.props.navigation.navigate("Main"))
.catch((error) => this.setState({ errorMessage: error.message }));
if (Firebase.auth().currentUser.uid) {
const user = {
uid: Firebase.auth().currentUser.uid,
firstName: this.state.firstName,
lastName: this.state.lastName,
phone: this.state.phone,
email: this.state.email,
dob: this.state.dob
};
db.collection("users").doc(response.user.uid).set(user);
}
};