我正在尝试加载一个'帖子'从我的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
任何人都可以指出我在哪里/如何设置我的帖子状态的正确方向