JavaScript Promise - Объект определен, но определенное свойство не определено - PullRequest
0 голосов
/ 06 сентября 2018

Я пытаюсь получить данные из базы данных. Я получаю данные в виде объекта, и он показывает данные, которые я хочу. Однако, когда я пытаюсь получить определенное значение из свойства Object, оно говорит, что оно не определено. Что я делаю не так или чего мне не хватает?

export const createChat = () => {
  return async dispatch => {
    dispatch({ type: CREATE_SINGLE_CHAT });
    const creator = firebase.auth().currentUser.uid;
    const userRef = firebase.database().ref(`/users/${creator}`);
    const currUser = await userRef.once('value');
    console.log(currUser);
    console.log(currUser.name);
  };
};

Вот консоль.log:

23:30:58  // currUser
Object {
  "email": "a@b.de",
  "is24Hours": true,
  "name": "Alex",
}
23:30:58 // currUser.name
undefined

Я использую React Native с Redux и Redux-Thunk, а также базу данных реального времени из firebase в качестве базы данных.

1 Ответ

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

Как упоминал Макс Бродин, я забыл использовать метод val () из firebase: firebase.google.com / документы / базы данных / веб / чтения и записи

рабочий код:

export const createChat = () => {
  return async dispatch => {
    dispatch({ type: CREATE_SINGLE_CHAT });
    const creator = firebase.auth().currentUser.uid;
    const userRef = firebase.database().ref(`/users/${creator}`);
    const currUser = await userRef.once('value');
    console.log(currUser);
    console.log(currUser.val().name); // here is the change
  };
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...