【发布时间】:2020-06-17 17:03:04
【问题描述】:
我有一个数组时间的状态,里面有数据。我想做的是映射这个状态并用道具调用一个子组件
我的状态
this.state = {
user:'',
feedArray:[],
}
设置数据的功能
//I CALLED THIS IN COMPONENTDIDMOUNT
renderFeed(){
rdb.ref("feeds").once('value',(snapshot)=>{
snapshot.forEach((childSnapshot)=>{
this.setState({feedArray:Object.values(childSnapshot.val())})
})
}).then(()=>{
console.log(this.state.feedArray);
})
}
返回部分
render() {
if (this.state.feedArray) {
this.state.feedArray.map((feed,id)=>{
console.log(feed.body); //this works fine
return (<FeedElement id={feed.id} body={feed.body}/> ); //This Not Works
})
}
}
这是consoled on console.log(this.state.feedArray)的日志
(4) […]
0: Object { author: "AashiqOtp", body: "kkk", feedid: "-M1_6POMRyqRv2tIKrF9", … }
1: Object { author: "AashiqOtp", body: "kkk", feedid: "-M1_6XYaUAlsXlwnAbcp", … }
2: Object { author: "AashiqOtp", body: "f", feedid: "-M1_HB07eh_08OFFRBbO", … }
3: Object { author: "AashiqOtp", body: "we have a new rm", feedid: "-M1d4xwLmSUKA0RZlH-Q", … }
有什么想法吗?提前致谢
【问题讨论】:
-
不需要
if,在map之前添加return。 -
显示错误:期望赋值或函数调用,而是在 return() 中看到一个表达式 no-unused-expressions 包装 map 函数
标签: javascript arrays reactjs javascript-objects map-function