【问题标题】:Get value from firebase and render it to render function in react从 firebase 获取值并将其渲染到 react 中的渲染函数
【发布时间】:2023-04-08 13:20:01
【问题描述】:
  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' 时这段代码没有运行?我该如何解决? 如果您认为我可以通过此函数的另一种方式获取“添加子项”的值来呈现,请分享

【问题讨论】:

    标签: reactjs firebase firebase-realtime-database


    【解决方案1】:

    value 仅触发一次,其中包含所有消息的列表。 child_added 将针对您在参考下的每条消息触发。并且每次将新子代添加到父代参考中。

    试试下面的代码,假设 messages 是你的反应状态的消息列表。

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

    【讨论】:

      猜你喜欢
      • 2018-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-04
      相关资源
      最近更新 更多