ReactJS如何知道哪个标签是点击的?

时间:2017-07-26 21:01:07

标签: reactjs key

我创建了一个按钮数组标签,现在我希望能够在单击时处理每个按钮但我不知道如何处理this.handleClickSelection()以便知道哪个标签已被点击。

class Search extends React.Component
{
constructor()
{
    super();
    this.state = {  entries : [], entries_audio : [], }
}

componentWillMount()
{

    $.get( 'https://something', (data) => {


        var entriesArray = [];
        var entriesAudioArray  = [];
        for (var i = 0; i < data.stories.length ; i++) {
            entriesArray.push(<button className ="entries" key={i}  onClick={ ()=> this.handleClickSelection() } > {data.stories[i].title  }</button>);
            entriesAudioArray.push( data.stories[i] );
        };
        this.setState( { indents : entriesArray, entries_audio : entriesAudioArray  });
        console.log(this.state.entries_audio);



    }, 'json' );


}   


handleClickSelection()
{
    alert( "this particular button data");


}


//more code below

2 个答案:

答案 0 :(得分:2)

您可以将点击处理程序绑定到索引:

/*
Success!
The Value of b is 5
*/

然后... onClick={this.handleClickSelection.bind(this, i)} 将接收索引作为第一个参数:

handleClickSelection

答案 1 :(得分:1)

我们使用bind。像:

onClick={this.handleClickSelection.bind(this, i)}

i作为第一个参数传递给您的方法:

handleClickSelection(i)