javascript - 将带参数的函数传递给映射元素
问题描述
函数changeVideo
是这样定义的,
changeVideo(url) {
alert(url)
}
UI 试图将它传递给几个映射的图像。这是接收 changeVideo 并将其映射到所述图像的函数。videos
是一个对象。摄取的 urlchangeVideo
是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
错了。感谢您的关注!
解决方案
this
insidevideoList
不会有changeVideo
属性,但是由于您已经将其作为函数传递,请changeVideo
直接使用:
this.changeVideo(videos[key].url
更改为changeVideo(videos[key].url
推荐阅读
- r - R中的替换函数
- postgresql - 仅当表中的行数大于 0 时,才将 PostgreSQL 表导出为带有标题的 CSV
- vba - 如果语句 - msgbox
- javascript - Observable toPromise() 获取通过 next() 发送的所有数据
- dart - 在本地获取和存储 json
- go - 为什么 imagemagick 中的 PNG 图像 readimage 和 writeimage 需要很多时间?
- java - Spring Data CouchbaseTemplate 和 setWriteResultChecking
- dataframe - 如何更改熊猫中的索引名称?
- cuda - CUDA 驱动程序 API - 最低驱动程序版本?
- git - 如何禁用 Git 自动检测电子邮件地址?