我想在click in function中发送元素索引。因为我应该为每个元素更改数据并从数组中获取它。
如何从MainBlock
获取List
的密钥?可能吗?或者我做错了什么?
我在React中很新,并且犯了很多错误。
var MainBlock = React.createClass({
Click: function() {
// I need to get element KEY
// var data = array[key]
},
render: function() {
return (
<List Click={this.props.Click.bind(null, this)}>
);
}
});
var List = React.createClass({
render: function() {
var ItemNodes = this.props.data.map(function(step, index) {
return (
<Item className="class" Click={this.props.Click.bind(null, this)} key={index} />
);
}.bind(this));
return (
<ul>
{ItemNodes}
</ul>
);
}
});
var StepWindow = React.createClass({
render: function() {
return (
<li onClick={this.props.Click}>
yo!
</li>
);
}
});
感谢您的帮助。
答案 0 :(得分:6)
试试这个:
Click={this.props.Click.bind(this, index)}
Click: function(idx, e){
}
查看docs示例中的boundClick http://facebook.github.io/react/tips/expose-component-functions.html
编辑我已对此进行了编辑,以显示传递给Click功能的参数顺序不同。这是e,idx,应该是idx,e。