Как добавить настраиваемые поля регистрации в Reaction-Firebase - PullRequest
0 голосов
/ 09 сентября 2018

Привет всем, я пытаюсь добавить пользовательское поле для реагирования, я пытаюсь создать отдельную таблицу пользователей в БД с идентификатором зарегистрированных пользователей. однако я получаю сообщение о том, что user.uid по какой-то причине не определен. Может кто-нибудь сказать мне, что я делаю не так?

import React, { Component } from "react";
import SignUpView from "./SignUpView";
import { withRouter } from "react-router";
import app from "../config/dev";
import { UserRef, timeRef } from '../components/reference';
class SignUpContainer extends Component {
  handleSignUp = async event => {
    event.preventDefault();
    const { email, password,rank } = event.target.elements;


    try {
      const user = await app
        .auth()
        .createUserWithEmailAndPassword(email.value, password.value);
        console.log(user.email);
        UserRef.child(user.uid).set(rank.value);
        alert("you have succseffully signed up!!")
      this.props.history.push("/");
    } catch (error) {
      alert(error);
    }
  };

  render() {
    return <SignUpView onSubmit={this.handleSignUp} />;
  }
}

export default withRouter(SignUpContainer);

1 Ответ

0 голосов
/ 09 сентября 2018

Метод createUserWithEmailAndPassword() возвращает объект Promise<firebase.auth.UserCredential>.Свойство uid вложено в свойство firebase.auth.UserCredential.user.

Попробуйте этот обновленный код:

try {
  const userCredential = await app
    .auth()
    .createUserWithEmailAndPassword(email.value, password.value);

    console.log(userCredential.user.email);
    UserRef.child(userCredential.user.uid).set(rank.value);

    alert("you have succseffully signed up!!")
  this.props.history.push("/");
} catch (error) {
  alert(error);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...