Почему я получаю UID как неопределенный - PullRequest
0 голосов
/ 10 июля 2019

Я вызываю uid для хранения, и он продолжает получать неопределенное, что случилось?

handleAdminSubmit(e) {
    e.preventDefault()

    const auth = firebase.auth();
    let promise = auth.createUserWithEmailAndPassword(this.state.SubEmail, this.state.subPasswrd);
    promise.then(user=> {
    console.log(user.uid)
      let email = this.state.SubEmail
      let em = email.replace('.com', '')
      let db = firebase.database();

      db.ref("Admins").child(em)
        .set({ "Admin": this.state.SubEmail, "password": this.state.subPasswrd, "Name": this.state.adminName  })
        .then(e => {
          console.log("succes")
          this.FetchAdmins()
        });


    })
    promise.catch(e => {
      alert("admin not created , Try again")
    })
  }

Ответы [ 2 ]

0 голосов
/ 10 июля 2019

Тип, который вы передаете then, это UserCredential. Чтобы получить действительного пользователя, вам нужно получить к нему доступ user. Итак:

auth.createUserWithEmailAndPassword(this.state.SubEmail, this.state.subPasswrd);
    .then(credential => {
        console.log(credential.user.uid)
0 голосов
/ 10 июля 2019

uid доступно для объекта auth:

const auth = firebase.auth();
let promise = auth.createUserWithEmailAndPassword(this.state.SubEmail, this.state.subPasswrd);
promise.then(() => {
    console.log(auth.uid)
    ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...