我创建了一个按钮数组标签,现在我希望能够在单击时处理每个按钮但我不知道如何处理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
答案 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)