我正在尝试让onClick事件在React中运行,但没有运气。我无法弄清楚什么是wronge
var Item = React.createClass({
render: function(){
return <div>{this.props.text}</div>;
}
});
var ItemList= React.createClass({
handleClick: function(i){
console.log("clicked",i)
},
renderListItems: function() {
var list = [];
for (var i = 0; i < 9; i++) {
var text = "item " + i;
list.push( <Item key={i} text={text} onClick={this.handleClick.bind(this,i)} /> )
}
return list;
},
render: function() {
return (
<div>
{
this.renderListItems()
}
</div>
)
}});
ReactDOM.render(
<ItemList />,
document.getElementById('container')
);
知道为什么它不起作用吗?
上面代码的演示答案 0 :(得分:4)
您需要将onClick
处理程序传递到div
组件中的Item
:
var Item = React.createClass({
render: function(){
return <div onClick={this.props.onClick}>{this.props.text}</div>;
}
});
答案 1 :(得分:0)
onClick
组件中未提及 Item
处理程序。
var Item = React.createClass({
render: function(){
return <div onClick={this.props.onClick}>{this.props.text}</div>;
}
});
更新的工作小提琴在这里:https://jsfiddle.net/69z2wepo/55503/