从firebase

时间:2018-01-27 13:08:25

标签: javascript reactjs firebase firebase-realtime-database

我正在尝试加载一个'帖子'从我的firebase数据库到我的反应应用程序。特别是尝试设置我的posts数组的状态。

constructor() {
        super()

        this.state = {
            posts: []
        }
    }

    componentDidMount() {
        this.grabPosts()
    }

    grabPosts = () => {
        const postList = firebase.db('posts').on('value', function(snapshot) {

            snapshot.forEach((child) => {
                console.log(child.val())

                //Get child data
                const childPost = child.val()

                //Get copy of current state
                const currentState = this.state.posts

                //Push item into array
                const newState = currentState.push(childPost)

                //Update state
                this.setState({
                    tasks: newState
                })
            })
        })
    }

Firebase结构

posts
   - (id)
      - post-title
      - post-image
      ..... etc etc

我只是想构建一个post对象数组,这样我就可以映射并为每个帖子创建组件。但是,每当我尝试改变状态时,我都会收到相同的错误

Uncaught TypeError: Cannot read property 'state' of undefined 

任何人都可以指出我在哪里/如何设置我的帖子状态的正确方向

0 个答案:

没有答案