![](/img/trans.png)
[英]Pass props from App class to const function React Typescript
[英]Changing multiple props const to class
我想将React中的功能组件转换为基于类的组件,因为我想利用state属性。 目前,我有这个组件,其中有2个道具。
const VideoListItem = ({video, onVideoSelect}) => {
const imageUrl=video.snippet.thumbnails.default.url;
return (
<li onClick={() => onVideoSelect(video)} className="list-group-item">
<div className="video-list media">
<div className="media-left">
<img className="media-object" src={imageUrl} />
</div>
<div className="media-body">
<div className="media-heading">{video.snippet.title}</div>
</div>
</div>
</li>
)
}
我试图将其转换为类,并最终得到以下结果:
class VideoListItem extends React.Component {
render() {
const {video} = this.props.video
const imageUrl=video.snippet.thumbnails.default.url;
const{onVideoSelect} =this.props.onVideoSelect
return (
<li onClick={() => onVideoSelect(video)} className="list-group-item">
<div className="video-list media">
<div className="media-left">
<img className="media-object" src={imageUrl} />
</div>
<div className="media-body">
<div className="media-heading">{video.snippet.title}</div>
</div>
</div>
</li>
)
}
}
但是,它不起作用,出现错误。 我想这与组件中的2个道具有关。 任何人都知道如何将第一个代码更改为类组件?
您的销毁情况有点:
const { video } = this.props.video;
const{ onVideoSelect } = this.props.onVideoSelect;
应该是这样的:
const { video } = this.props;
const{ onVideoSelect } = this.props;
如果需要,可以将它们组合在一起:
const { video, onVideoSelect } = this.props;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.