База данных Firebase не обновляется сначала - PullRequest
0 голосов
/ 10 января 2020

Я создаю приложение чата с реагировать на родной и Firebase. Когда пользователь входит в систему, предыдущие сообщения должны загружаться при первом запуске, но он предоставляет пустые массивы для обещания сначала, а затем, когда я снова подключаюсь, он появляется ... Я использую перекус и мне нужно изменить код, чтобы увидеть чат Histroy (для обновления устройства). Как я могу загрузить при первом запуске?

редактировать: структура firebase

userName:
-rooms:
  -otherUser:
     -messages
     -name

Код:

firebase.database().ref(`userName/rooms`).on('child_added', snapshot => callback(parse(snapshot)));;
const parse = snapshot => {
    //console.log(snapshot);
    const { name } = snapshot.val();
    const { key: _id } = snapshot;
    const rooms = {
      _id,
      name
    };
    return rooms;
  };

И это происходит в моем использованииEffect:

const loadRequiredMaterials = async () => {
      return new Promise(async (resolve, reject) => {
        //var loadedRooms = [...rooms]
        var loadedRooms = []
          await on(oldRooms => {
            loadedRooms = [oldRooms, ...loadedRooms]
          });
        await resolve([loadedRooms]);
      })
    }
    if (firebase.auth().currentUser) {
      console.log(firebase.auth().currentUser)
      loadRequiredMaterials()
      .then((result)=> {
        console.log(result)
        setRooms(result[0]);
      })

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...