Heim > Web-Frontend > js-Tutorial > Wie übergebe ich Werte an onClick-Ereignisse in React JS?

Wie übergebe ich Werte an onClick-Ereignisse in React JS?

Linda Hamilton
Freigeben: 2024-11-28 13:57:12
Original
236 Leute haben es durchsucht

How to Pass Values to onClick Events in React JS?

Übergabe von Werten an onClick-Ereignisse in React JS

Der onClick-Ereignishandler von React ermöglicht keine direkte Wertübergabe. Wenn darauf geklickt wird, wird ein SyntheticMouseEvent-Objekt auf der Konsole angezeigt. Um Werte effektiv zu übergeben, folgen Sie diesen Lösungen:

Einfacher Weg

Verwenden Sie eine Pfeilfunktion:

return (
  <th value={column} onClick={() => this.handleSort(column)}>
    {column}
  </th>
);
Nach dem Login kopieren

Dadurch wird eine Funktion erstellt, die handleSort mit den gewünschten Parametern aufruft.

Besserer Weg

Extrahieren Sie den Code in a Unterkomponente:

Unterkomponente

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

  render() {
    return (
      <th onClick={this.handleClick}>
        {this.props.column}
      </th>
    );
  }
}
Nach dem Login kopieren

Hauptkomponente

{this.props.defaultColumns.map(column => (
  <TableHeader
    value={column}
    onHeaderClick={this.handleSort}
  />
))}
Nach dem Login kopieren

Dies gewährleistet ein erneutes Rendern nur bei Bedarf.

Old Easy Way (ES5)

Binden Sie die Funktion zum Komponentenkontext:

return (
  <th value={column} onClick={this.handleSort.bind(this, column)}>
    {column}
  </th>
);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie übergebe ich Werte an onClick-Ereignisse in React JS?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage