我正在尝试使用 mapStateToProps()函数将Redux状态放入我的组件中,如下所示:
function mapStateToProps({ posts, comments }, ownProps) {
return {
post: Object.values(posts.posts).find(post => post.id ===ownProps.match.params.id),
comment: Object.values(comments.comments).find(comment => comment.parentId ===ownProps.match.params.id)};
}
现在,问题是我的状态中有多个注释,并且由于 find()方法只返回数组的第一个元素,因此我无法检索其他注释。那么,我如何得到州的所有评论?
答案 0 :(得分:1)
请改用Array.filter()方法。过滤器返回符合条件的项目数组。
function mapStateToProps({ posts, comments }, ownProps) {
return {
post: Object.values(posts.posts).find(post => post.id === ownProps.match.params.id),
comment: Object.values(comments.comments).filter(comment => comment.parentId === ownProps.match.params.id)
};
}