如何使用firebase snapShot.val()控制台记录我的新状态?

时间:2017-01-09 04:42:41

标签: reactjs firebase webpack firebase-realtime-database

我会尽量保持简洁明了。

我已经启动了一个包含React Webpack和Firebase的简单页面。

  1. 我将 DVDLibrary 的初始状态设置为null。

  2. componentDidMount 函数中,我将状态设置为firebase snapShot.val()。

  3. 当我控制DVD.ibrary状态时,它会记录为空。

  4. 
    
    import React from "react";
        import ReactDOM from "react-dom";
        import firebase from 'firebase';
    
        export default class Front extends React.Component {
        
          constructor(){
            super();
            this.state = {
              DVDLibrary : null
            };        
          };
        
          componentDidMount(){
            firebase.database().ref().on('value',snapShot => {
                this.setState({
                  DVDLibrary: snapShot.val()
                });
            });
            console.log(this.state.DVDLibrary);
          };
          
          render()....
          
        }
    
    
    

    如果我在构造函数函数中包含 componentDidMount 函数的内容,控制台会按预期记录,但新状态似乎不会离开范围建设者。

    我尝试在 componentDidUpdate 函数中包含console.log,但它没有记录任何内容。

    我做错了什么?

    非常感谢任何帮助。

    全部谢谢。 萌

0 个答案:

没有答案