将带参数的函数传递给映射元素
Passing a function with parameters to mapped elements
函数changeVideo
是这样定义的,
changeVideo(url) {
alert(url)
}
UI 正在尝试将其传递给多个映射图像。
这是接收 changeVideo 并将其映射到所述图像的函数。 videos
是一个对象。 changeVideo
摄取的 url 是 videos
对象的 属性。
function videoList(videos, changeVideo) {
return Object.keys(videos).map((key) => {
return (
<div>
<img
onClick={() => this.changeVideo(videos[key].url)}
/>
</div>
);
});
}
最后,我在这里调用 videosList
函数,并将 changeVideo
传递给它。
<div className="videoList">
{videoList(this.state.videos, this.changeVideo)}
</div>
在这个过程中的某个地方,我传递 changeVideo
不正确。感谢观看!
videoList
中的 this
不会有 changeVideo
属性,但由于您已经将其作为函数传递,因此直接使用 changeVideo
:
this.changeVideo(videos[key].url
更改为 changeVideo(videos[key].url
函数changeVideo
是这样定义的,
changeVideo(url) {
alert(url)
}
UI 正在尝试将其传递给多个映射图像。
这是接收 changeVideo 并将其映射到所述图像的函数。 videos
是一个对象。 changeVideo
摄取的 url 是 videos
对象的 属性。
function videoList(videos, changeVideo) {
return Object.keys(videos).map((key) => {
return (
<div>
<img
onClick={() => this.changeVideo(videos[key].url)}
/>
</div>
);
});
}
最后,我在这里调用 videosList
函数,并将 changeVideo
传递给它。
<div className="videoList">
{videoList(this.state.videos, this.changeVideo)}
</div>
在这个过程中的某个地方,我传递 changeVideo
不正确。感谢观看!
videoList
中的 this
不会有 changeVideo
属性,但由于您已经将其作为函数传递,因此直接使用 changeVideo
:
this.changeVideo(videos[key].url
更改为 changeVideo(videos[key].url