从firebase获取值并将其渲染为render函数

时间:2017-11-01 20:28:42

标签: reactjs firebase firebase-realtime-database

  var messagesRef = firebase.database().ref('messages');
        messagesRef.off();

        messagesRef.limitToLast(12).on('value', (snapshot) => {
          var Text =[];
          snapshot.forEach((data)=> {
              var text = {
                  text: data.val().text
              }
              Text.push(text);
                  this.setState({
                    Text:Text   
                  });

          })


        })

大家好,  我想知道当我将'value'替换为'child_added'时,为什么这段代码没有运行?我该如何解决? 如果您认为我可以通过此功能的另一种方式获取“儿童添加”的值,请分享

1 个答案:

答案 0 :(得分:0)

仅在您的所有邮件列表中触发一次。 对于您在引用下的每条消息,都会触发 child_added 。每次将新子项添加到父级引用时。

请尝试以下代码,假设消息是您处于反应状态的消息列表。

var messages = []
messagesRef.on('child_added', snapshot => {
      messages.push({
            text: snapshot.val().text
      })
      this.setState({messages})
})