Получение неопределенного при получении значения из firebase - PullRequest
0 голосов
/ 28 мая 2018

Где мой звонок не так?Первый console.log ведет к объекту роли, а второй console.log ведет к неопределенному.Когда это должен быть пользователь.

componentDidMount(){
    let user = fire.auth().currentUser;
    let db = fire.database();
    let roleRef = db.ref('/roles');
    roleRef.orderByChild('user').equalTo(user.uid).once('value', (snapshot) => {
        console.log(snapshot.val())
        console.log(snapshot.val().user);
    })
}

Результат:

enter image description here

База огня:

enter image description here

1 Ответ

0 голосов
/ 28 мая 2018

Когда вы выполняете запрос к базе данных Firebase, потенциально может быть несколько результатов.Таким образом, снимок содержит список этих результатов.Даже если есть только один результат, снимок будет содержать список из одного результата.

Ваш код не учитывает этот список.Самый простой способ сделать это с помощью Snapshot.forEach():

roleRef.orderByChild('user').equalTo(user.uid).once('value', (snapshot) => {
  snapshof.forEach((roleSnapshot) => {
    console.log(roleSnapshot.val())
    console.log(roleSnapshot.val().user);
  });
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...