Maison > interface Web > js tutoriel > le corps du texte

Comment transmettre des valeurs aux événements onClick dans React ?

Mary-Kate Olsen
Libérer: 2024-11-27 00:32:11
original
964 Les gens l'ont consulté

How Do I Pass Values to onClick Events in React?

Transmission de valeurs aux événements onClick dans React

Dans React, transmettre des valeurs aux événements onClick peut être difficile, conduisant à une sortie inattendue de la console. Cet article explore deux méthodes pour résoudre ce problème.

Méthode 1 : Utilisation des fonctions fléchées

L'approche la plus simple consiste à utiliser des fonctions fléchées, qui capturent le contexte correct pour le événement :

return (
  <th value={column} onClick={() => this.handleSort(column)}>{column}</th>
);
Copier après la connexion

Méthode 2 : Créer un Sous-composant

Une solution plus structurée consiste à créer un sous-composant qui gère l'événement onClick :

Sous-composant (ES6)

class TableHeader extends Component {
  handleClick = () => {
    this.props.onHeaderClick(this.props.value);
  }

  render() {
    return (
      <th>
        <button onClick={this.handleClick}>{this.props.column}</button>
      </th>
    );
  }
}
Copier après la connexion

Composant principal (ES6)

return (
  {this.props.defaultColumns.map((column) => (
    <TableHeader
      value={column}
      onHeaderClick={this.handleSort}
    />
  ))}
Copier après la connexion

Ancienne méthode pour ES5

Dans ES5, vous pouvez utiliser .bind :

return (
  <th value={column} onClick={this.handleSort.bind(this, column)}>{column}</th>
);
Copier après la connexion

Par en utilisant ces méthodes, vous pouvez transmettre efficacement des valeurs aux événements onClick dans vos applications React.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal