Как получить значение Firebase в реагировать на родной? - PullRequest
0 голосов
/ 17 октября 2019

Я хочу прочитать значение firebase и сохранить его в this.state, когда происходит конструктор. Что мне делать?

constructor(props) {
    super(props);
    var userId = firebase.auth().currentUser.uid;
    return firebase.database().ref("/users" + userId)
    .once("value").then(function(snapshot) {
      var uid = (snapshot.val() && snapshot.val().uid)
      var nickname = (snapshot.val() && snapshot.val().nickname)
    }),
    this.state = {
      //uid: firebase.auth().currentUser.uid,
      uid: "",
      nickname: "",

    };
  }

1 Ответ

0 голосов
/ 17 октября 2019

Звонок на setState должен быть внутри обратного вызова:

firebase.database().ref("/users" + userId)
    .once("value").then(function(snapshot) {
      var uid = (snapshot.val() && snapshot.val().uid)
      var nickname = (snapshot.val() && snapshot.val().nickname)

      this.setState({
        uid: uid,
        nickname: nickname,    
      });
    }),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...