J'ai créé un tableau de balises de boutons et maintenant je veux être capable de gérer chaque bouton lorsque je clique dessus mais je ne sais pas comment gérer this.handleClickSelection() afin de savoir quel tag a été cliqué.ReactJS comment savoir quel tag a été cliqué?
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
merci. ça fonctionne. Savez-vous pourquoi onClick = {this.handleClickSelection.bind (this, i)}. fonctionne mais onClick = {() => this.handleClickSelection.bind (this, i)} doesnt? – user2419831
c'est parce que dans la deuxième forme vous n'appelez pas votre gestionnaire de clic, 'bind' renvoie juste une nouvelle fonction liée. Si vous voulez l'écrire comme ça, vous devez simplement appeler votre gestionnaire: 'onClick = {() => this.handleClickSelection (i)}' – thedude