Мне нужна помощь в понимании так называемых синтетических событий в ReactJS. Я написал следующую игрушечную программу с компонентом Video
и компонентом VideoList
. Когда кликнуто видео в визуализированном списке видео, я распечатаю, какое видео будет нажато в консоли.Понимание синтетических событий в ReactJS
Я не понимаю, как определяется событие onVideoSelected(). Является ли оно заменено на событие onClick() в представленном компоненте Video
?
Спасибо!
var Video = React.createClass({
handleClick: function() {
this.props.onVideoSelected(this.props.title);
},
render: function() {
return <li><div onClick={this.handleClick} className="bg-success">{this.props.title}</div></li>;
}
});
var VideoList = React.createClass({
propTypes: {
data: React.PropTypes.array.isRequired
},
handleVideoSelected: function(title) {
console.log('selected Video title is: ' + title);
},
render: function() {
return (
<div className="panel panel-default"><div className="panel-heading">List of Videos</div><ul>
{data.map(function (v) {
return <Video onVideoSelected={this.handleVideoSelected} key={v.title} title={v.title} />;
},this)}
</ul></div>
);
}
});
var data = [
{title: 'video title 1', link: 'http://www.youtube.com/1'},
{title: 'video title 2', link: 'http://www.youtube.com/2'},
{title: 'video title 3', link: 'http://www.youtube.com/3'}
];
React.render(<VideoList data={data} />, document.getElementById('videolist'));