您好我有这些模拟API:
我想循环使用Posts API和Comments API,根据评论API中的postId获取每篇帖子的评论数量。我尝试这样做,但它只返回一个带有数据的对象,而其他对象则没有。 这是组件的一部分:
postComments(comments, posts) {
for (var key in comments) {
const obj = comments[key];
return posts.map((post, i) => {
return <PostDisplay
key={i}
{...post}
commentLength={ obj.postId === post.id ? obj : '' }
/>;
})
}
}
当console.logged返回此commentLength
道具时:
Object {id: 1, text: "Praesentium ut qui facere aliquid.", user: "keltonabshire", postId: 60297}
16
Object
是唯一传递的结果,而16
是我在commentLength
组件上传递给PostDisplay
的空字符串。
但是,我希望能够呈现PostDisplay
组件,并获得此特定comments
使用post
的{{1}}个数。
我postId
正在工作,但PostDisplay
并非与每个组件相关的commentsLength
全部。
谢谢
答案 0 :(得分:1)
您想获得特定帖子的评论长度吗?你可能不需要先循环注释,试试这个:
postComments(comments, posts) {
return posts.map((post, i) => {
return <PostDisplay
key={i}
{...post}
commentLength={ comments.filter(comment => comment.postId === post.id).length }
/>;
})
}