Maison > interface Web > js tutoriel > Comment puis-je transmettre une valeur à un événement onClick dans React ?

Comment puis-je transmettre une valeur à un événement onClick dans React ?

Susan Sarandon
Libérer: 2024-12-06 03:59:14
original
222 Les gens l'ont consulté

How Can I Pass a Value to an onClick Event in React?

React js : transmettre une valeur à l'événement onClick

Dans React, accéder aux propriétés de la valeur de l'événement onClick peut être difficile, affichant des messages de console tels que "SyntheticMouseEvent {...}" au lieu de la valeur souhaitée. Ce problème peut être résolu en comprenant le mécanisme de gestion des événements de React et en employant des techniques appropriées.

Facile

Pour transmettre une valeur à l'événement onClick à l'aide d'une fonction fléchée, suivez cette approche :

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

Cela crée une nouvelle fonction qui appelle handleSort avec les paramètres corrects.

Mieux Way

Pour des performances optimales, il est recommandé d'extraire la gestion onClick dans un sous-composant. De cette façon, la référence du gestionnaire ne changera pas et les rendus inutiles seront évités.

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

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