将firebase数据存储到对象时获取未定义

时间:2017-11-20 11:26:56

标签: javascript reactjs firebase react-native firebase-realtime-database

这是我的代码。我想将数据从firebase存储到存储到对象(this.chatThread)。

chatThreadMessageFetch(mobileNumber, fromID) {

    this.chatThreads=[];
    return firebase.database().ref(messaging/${mobileNumber}/chatThread/${fromID}).orderByKey()
       .once('value').then(snapshot => {

            snapshot.forEach((messageSnapshot)=> {

             key=messageSnapshot.key*-1;

            this.chatThreads[key]=messageSnapshot.val();

         });
        });

}

当我在控制台上记录this.chatThreads时,我正在undefined。 以下是我的firebase数据库。 enter image description here

相反,如果我指定this.chatThreads = messageSnapshot.val()

,我会获得数据

1 个答案:

答案 0 :(得分:2)

您可以使用push存储数据

this.chatThreads[key].push(messageSnapshot.val());

this.chatThreads.push(key+':'+messageSnapshot.val());