我在handleSubmit函数中设置变量时遇到一些困难。 this.props.posts
是来自redux的对象数组。我只想获取一个与传递过来的道具的ID相匹配的post对象。我认为我的困惑在于不太了解我实际上应该返回的内容。任何澄清将不胜感激。谢谢!
handleSubmit = (e) => {
e.preventDefault()
const post =
this.props.posts.map((el, i) => {
if (el.id === this.props.id) {
return el
}
})
console.log(post)
this.props.dispatch(updatePost(this.state.post))
this.props.closeForm()
}
答案 0 :(得分:1)
Array.prototype.map
不是您想要的。您应该使用Array.prototype.find()
方法按ID定位对象。
const post = this.props.posts.find(el => el.id === this.props.id)
或类似的东西。