ReactJS - Event Management

Hallo zusammen, zukünftige React-Entwickler! Heute tauchen wir in die aufregende Welt der Ereignisverwaltung in ReactJS ein. Als dein freundlicher Nachbarschaftsinformatiklehrer bin ich begeistert, dich auf dieser Reise zu führen. Mach dir keine Sorgen, wenn du neu im Programmieren bist – wir beginnen mit den Grundlagen und arbeiten uns hoch. Also hol dir eine Tasse Kaffee (oder Tee, wenn das dein Ding ist) und los geht's!

ReactJS - Event management

Ereignisverwaltung in ReactJS

Ereignisse sind das Leben interaktiver Webanwendungen. Sie sind wie die Knöpfe und Hebel in einer Raumschiffkabine – sie lassen Dinge passieren! In ReactJS ist die Ereignisverwaltung die Art und Weise, wie wir Benutzerinteraktionen wie Klicks, Tastendrücke und Formularübermittlungen behandeln.

Stellen wir uns vor, du baust ein einfaches Klickspiel. Jedes Mal, wenn ein Benutzer auf einen Knopf klickt, möchtest du die Punktzahl erhöhen. Genau hier kommt die Ereignisverwaltung ins Spiel!

Synthetische React-Ereignisse

Bevor wir uns dem Code widmen, sprechen wir über etwas Einzigartiges in React: Synthetische Ereignisse. Das ist Reacts Weg, sicherzustellen, dass Ereignisse konsistent across verschiedenen Browser funktionieren. Es ist wie ein universeller Übersetzer für deine App!

React verpackt die nativen Ereignisse des Browsers und gibt ihnen eine konsistente Schnittstelle. Das bedeutet, du musst dich nicht um browser-spezifische Eigenheiten kümmern, wenn du Ereignisse handhabst.

Hinzufügen eines Ereignisses

Lassen wir mit einem einfachen Beispiel beginnen. Wir erstellen einen Knopf, der eine Benachrichtigung zeigt, wenn man darauf klickt.

function AlertButton() {
return (
<button onClick={() => alert('Du hast mich geklickt!')}>
Klicke mich!
</button>
);
}

In diesem Beispiel:

  • Wir definieren eine Funktionskomponente namens AlertButton.
  • Innerhalb der Komponente geben wir ein <button>-Element zurück.
  • Wir fügen dem Knopf ein onClick-Attribut hinzu. Das ist, wie man in React einen Ereignislistener hinzufügt.
  • Das onClick-Attribut wird auf eine Pfeilfunktion gesetzt, die alert() mit unserer Nachricht aufruft.

Wenn du diese Komponente rendere und auf den Knopf klickst, siehst du eine Benachrichtigung, die "Du hast mich geklickt!" sagt.

Ereignisbehandlung

Nun machen wir Dinge ein bisschen interessanter. Anstatt nur eine Benachrichtigung anzuzeigen, werden wir den Zustand der Komponente aktualisieren, wenn der Knopf geklickt wird.

import React, { useState } from 'react';

function ClickCounter() {
const [count, setCount] = useState(0);

const handleClick = () => {
setCount(count + 1);
};

return (
<div>
<p>Du hast {count} Mal geklickt</p>
<button onClick={handleClick}>
Klicke mich!
</button>
</div>
);
}

Lassen wir das auseinandernehmen:

  1. Wir importieren useState aus React, um den Zustand unserer Komponente zu verwalten.
  2. Wir definieren eine Funktionskomponente namens ClickCounter.
  3. Innerhalb der Komponente verwenden wir useState(0) um eine Zustandsvariable count initialisiert auf 0 zu erstellen und eine Funktion setCount, um sie zu aktualisieren.
  4. Wir definieren eine handleClick-Funktion, die setCount aufruft, um den Zähler zu erhöhen.
  5. In unserem JSX显示 den aktuellen Zählerstand und einen Knopf.
  6. Das onClick-Attribut des Knopfes ist auf unsere handleClick-Funktion gesetzt.

Jedes Mal, wenn du auf den Knopf klickst, erhöht sich der Zähler um 1!

Argumente an Ereignisandler übergeben

Manchmal möchtest du zusätzliche Informationen an deinen Ereignisandler übergeben. Sehen wir uns ein Beispiel an, bei dem wir mehrere Knöpfe haben, die mit verschiedenen Früchten verknüpft sind.

import React, { useState } from 'react';

function FruitPicker() {
const [selectedFruit, setSelectedFruit] = useState('');

const handleFruitClick = (fruit) => {
setSelectedFruit(fruit);
};

return (
<div>
<h2>Wähle eine Frucht:</h2>
<button onClick={() => handleFruitClick('Apfel')}>Apfel</button>
<button onClick={() => handleFruitClick('Banane')}>Banane</button>
<button onClick={() => handleFruitClick('Kirsche')}>Kirsche</button>
<p>Du hast ausgewählt: {selectedFruit}</p>
</div>
);
}

In diesem Beispiel:

  1. Wir erstellen eine Zustandsvariable selectedFruit, um die gewählte Frucht zu verfolgen.
  2. Unsere handleFruitClick-Funktion nimmt einen fruit-Parameter.
  3. In jedem KnopfsonClick-Attribut verwenden wir eine Pfeilfunktion, umhandleFruitClick` mit dem entsprechenden Fruchtname aufzurufen.

Wenn du auf einen Knopf klickst, wird der selectedFruit-Zustand mit dem Namen der von dir angeklickten Frucht aktualisiert.

Häufige React-Ereignisse

Hier ist eine Tabelle einiger häufiger React-Ereignisse, die du verwenden könntest:

Ereignisname Beschreibung
onClick Ausgelöst, wenn ein Element geklickt wird
onChange Ausgelöst, wenn der Wert eines Eingabeelements geändert wird
onSubmit Ausgelöst, wenn ein Formular übermittelt wird
onMouseEnter Ausgelöst, wenn die Maus ein Element betritt
onMouseLeave Ausgelöst, wenn die Maus ein Element verlässt
onKeyDown Ausgelöst, wenn eine Taste gedrückt wird
onKeyUp Ausgelöst, wenn eine Taste losgelassen wird
onFocus Ausgelöst, wenn ein Element den Fokus erhält
onBlur Ausgelöst, wenn ein Element den Fokus verliert

Denke daran, dass diese Ereignisse in React in KAMEL-Schreibweise verwendet werden, im Gegensatz zu ihren kleinen HTML-Gegenstücken.

Und das war's, Leute! Du hast gerade deine ersten Schritte in die Welt der Ereignisverwaltung in React gemacht. Übe mit diesen Beispielen, versuche, verschiedene Konzepte zu kombinieren, und bald wirst du interaktive React-Anwendungen wie ein Profi erstellen!

Denke daran, im Programmieren, wie im Leben, ist der Schlüssel zu experimentieren und zu lernen. Habe keine Angst vor Fehlern – sie sind nur Stolpersteine zum Erfolg. Viel Spaß beim Coden und möge die React mit dir sein!

Credits: Image by storyset