ReactJS 在点击时发送键(索引)

ReactJS send key(index) on click

我想在点击函数时发送元素的索引。因为我应该更改每个元素的数据并从数组中获取它。

如何从 List 获取 MainBlock 中的密钥?可能吗?还是我做错了什么?

我是 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>
        );
    }
});

感谢您的帮助。

试试这个:

Click={this.props.Click.bind(this, index)}

Click: function(idx, e){

}

查看文档示例中的 boundClick http://facebook.github.io/react/tips/expose-component-functions.html

edit 我对此进行了编辑,以表明传递给 Click 函数的参数顺序不同。是 e, idx 应该是 idx, e.