Skip to content

React-Hooks erklärt

Die React-Hooks für den Alltag, gruppiert nach Aufgabe: State halten, Effekte ausführen, Berechnungen memoizen, Context teilen und außerhalb des Renders auf die Welt zugreifen. Jede Zeile paart den Hook mit seinem Zweck.

Ein Hook ist eine Funktion, mit der eine Funktionskomponente auf Reacts Fähigkeiten zugreift: State, Lifecycle, Context und Performance-Tuning. Die zwei Regeln: Rufe Hooks auf der obersten Ebene auf (nie in Schleifen oder Bedingungen) und rufe sie nur aus React-Funktionen auf. Der Rest ist, den richtigen Hook für die Aufgabe zu wählen.

Nachschlagetabelle · 24 Einträge
24 of 24 rows
State
Hält einen einzelnen Wert, der beim Ändern ein Re-Render auslöst.Lokaler Komponenten-State: Formularfelder, Toggles, Zähler.
Hält State, der von einem Action-Reducer gesteuert wird, wie ein kleiner Store.State mit mehreren zusammenhängenden Feldern oder komplexen Übergängen.
Hält einen veränderlichen Wert, der KEIN Re-Render auslöst.Veränderliche Container, Timer und direkter DOM-Zugriff über .current.
Effekte
Führt einen Side Effect nach dem Render aus, mit optionalem Cleanup.Daten laden, Subscriptions und Synchronisation mit einem externen System.
Die Funktion, die ein Effekt zurückgibt, läuft vor dem nächsten Effekt und erneut beim Unmount.Subscriptions und Timer abbauen oder einen laufenden Fetch abbrechen.
Wie useEffect, aber feuert synchron nach der DOM-Mutation.Layout lesen oder schreiben, bevor der Browser malt (Toasts, Tooltips).
Event-Handler laufen als Reaktion auf eine Nutzeraktion; Effekte laufen nach dem Render zur Synchronisation.Vom Nutzer verursachte Logik gehört in einen Handler, render-verursachte Logik in einen Effekt.
Mountet Komponenten in der Entwicklung doppelt, damit Effekte laufen, sich aufräumen und erneut laufen.Doppelte Subscriptions und fehlendes Cleanup abfangen, bevor es in Produktion geht.
Performance
Cacht einen berechneten Wert, bis sich seine Abhängigkeiten ändern.Teure Neuberechnungen über Renders hinweg vermeiden; ändere bewusst einen Wert in den Deps, um den Cache zu leeren.
Cacht eine Funktionsreferenz, bis sich ihre Abhängigkeiten ändern.Stabile Callbacks, die an memoisierte Kinder weitergegeben oder als Deps genutzt werden.
Überspringt das Re-Render einer Komponente, deren Props unverändert sind.Schwere Kindkomponenten; übergib eine Vergleichsfunktion als zweites Argument, wenn flache Gleichheit nicht reicht (ein HOC, kein Hook).
Context und externe Handles
Liest einen Context-Wert ohne Prop-Drilling.Theme, Locale oder ein authentifizierter Nutzer, über den Baum geteilt.
Passt die Instanz an, die ein Parent über eine Ref sieht.Eine fokussierte API aus einem Kind über forwardRef freigeben.
Concurrency und weitere
Markiert ein State-Update als nicht dringend, damit die UI reaktiv bleibt.Die Eingabe flink halten, während eine schwere Liste neu rendert.
Vertagt einen Wert, damit Updates unterbrechbar sind.Teure Renders ohne Timer entprellen.
Erzeugt eine stabile, eindeutige ID für Accessibility-Attribute.Label und Input über Server- und Client-Renders hinweg verknüpfen.
Liest ein Promise oder einen Context während des Renders; der einzige Hook, den du bedingt aufrufen darfst.Ein Promise mit Suspense auspacken oder Context in einem frühen Return lesen.
Hält State, der von einer Form-Action gesteuert wird, inklusive eines Pending-Flags.Formular-Submits, die Fehler oder aktualisierten State zurückgeben, um sie inline anzuzeigen.
Rendert sofort einen optimistischen Wert und fällt auf den echten State zurück, wenn die Action abgeschlossen ist.Einen Like oder eine gesendete Nachricht zeigen, während ihre Server-Anfrage läuft.
Liest den Pending-Zustand des umgebenden <form>, ohne Props.Ein Submit-Button, der sich selbst deaktiviert, während sein Eltern-Formular absendet.
Abonniert einen Store außerhalb von React und liest einen konsistenten Snapshot.Browser-APIs wie den Online-Status oder State-Stores von Drittanbietern.
Läuft vor den Layout-Effekten, gemacht, um CSS-in-JS-Regeln zu injizieren.Style-Bibliotheken, die Regeln einfügen müssen, bevor Layout gelesen wird.
Zeigt ein eigenes Label für den internen State eines Hooks in den React DevTools.Benennen, was ein Custom Hook enthält, beim Debuggen.
Dein eigener Hook, der die Built-ins kombiniert, um Logik zu teilen.Wiederverwendbares State-Verhalten wie useFetch oder useMediaQuery.