【问题标题】:Why I am getting uid as undefined为什么我的 uid 未定义
【发布时间】:2019-07-10 20:08:07
【问题描述】:

我正在调用 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")
    })
  }

【问题讨论】:

    标签: reactjs firebase web firebase-authentication


    【解决方案1】:

    传递给then 的类型是UserCredential。要获取实际用户,您必须访问其上的 user 属性。所以:

    auth.createUserWithEmailAndPassword(this.state.SubEmail, this.state.subPasswrd);
        .then(credential => {
            console.log(credential.user.uid)
    

    【讨论】:

      【解决方案2】:

      uid 可用于 auth 对象:

      const auth = firebase.auth();
      let promise = auth.createUserWithEmailAndPassword(this.state.SubEmail, this.state.subPasswrd);
      promise.then(() => {
          console.log(auth.uid)
          ...
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-01-01
        • 2017-04-07
        • 2018-10-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多