Maison > interface Web > js tutoriel > Comment transmettre des valeurs aux événements onClick dans React JS ?

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

Linda Hamilton
Libérer: 2024-11-28 13:57:12
original
179 Les gens l'ont consulté

How to Pass Values to onClick Events in React JS?

Transmission de valeurs aux événements onClick dans React JS

Le gestionnaire d'événements onClick de React ne permet pas directement la transmission de valeurs. Lorsque vous cliquez dessus, il affiche un objet SyntheticMouseEvent sur la console. Pour transmettre des valeurs efficacement, suivez ces solutions :

Facile

Utilisez une fonction fléchée :

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

Cela crée une fonction qui appelle handleSort avec les paramètres souhaités.

Meilleure façon

Extraire le code dans un sous-composant :

Sous-composant

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

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

Composant principal

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

Cela garantit le re-rendu seulement lorsque cela est nécessaire.

Old Easy Way (ES5)

Relier la fonction au contexte du composant :

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

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