Concat Firebase React Native Flatlist - PullRequest
       80

Concat Firebase React Native Flatlist

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

Реагирует на собственные проблемы FlatList с .push (), пытаясь использовать вместо него .concat (), поскольку он создает новый объект, основываясь на этом:

Плоский список не обновляется, когда данные поставляются с Redux (React Native)

Первоначально я использовал .push ()

publicChannelsToDownload.push({ id: channelId, info: channelInfo, unreadMessages: snapshot.val() });

Однако, когда я переключаюсь на concat, массив возвращается как пустой

let publicChannelsToDownload = [];

        snapshot.forEach(channelSnapshot => {
          let channelId = channelSnapshot.key;
          let channelInfo = channelSnapshot.val();
          // add the channel ID to the download list

          const UNREAD_MESSAGES = FIREBASE_REF_UNREAD.child("Public")
            .child(channelId).child('users').child(currentUserID)
          UNREAD_MESSAGES.once("value")
            .then(snapshot => {
              if (snapshot.val() === null) {
                // get number of messages in thread if haven't opened
                publicChannelsToDownload = publicChannelsToDownload.concat([{ id: channelId, info: channelInfo, unreadMessages: 0 }]);
              } else {
                publicChannelsToDownload = publicChannelsToDownload.concat([{ id: channelId, info: channelInfo, unreadMessages: snapshot.val() }]);
              }
            }
            )
        });
...