【发布时间】:2017-07-03 18:09:10
【问题描述】:
我有一个包含图像列表的视频列表。我想更改悬停时的图像。我创建了一个 activeImgSrcId 来跟踪活动图像。 video.imgList 有一个图像列表。 video.imgList[video.activeImgSrcId] 在我放置调试点时获取所需的 url。但是删除调试点后,我看到了
Cannot read property 'undefined' of undefined
这是我的渲染方法
renderVideoList() {
return this.props.videoLibrary.map(video => (
<div className="col-md-4" key={video.id}>
<Link to={`videos/${video.id}`}>
<img
src={video.imgList[video.activeImgSrcId]}
/>
</Link>
</div>
));
}
有人可以告诉我我做错了什么吗?访问这种嵌套结构的正确方法是什么?
【问题讨论】:
-
打印
this.props的结果是什么? -
只在
this.props.videoLibrary && (this.props.videoLibrary.length === true)时才调用renderVideoList()怎么样?此外,如果没有定义视频的所有必需属性,您可以在内联函数中返回null。
标签: arrays reactjs nested ecmascript-6 redux