ReactJS在点击时发送密钥(索引)

时间:2015-02-06 03:13:50

标签: javascript reactjs

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

感谢您的帮助。

1 个答案:

答案 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。