0Pricing
React Academy · Lektion

Häufige React-Fehler debuggen

Diagnostizieren Sie Warnungen zu fehlenden Keys, Fehler in undefiniertem State und Hydration-Fehler.

Häufige React-Fehler debuggen ist eine kostenlose React Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des React Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.

Willkommen

In dieser Lektion diagnostizieren Sie die häufigsten React-Fehler: Warnungen zu fehlenden Keys, Fehler durch einen undefinierten State, zu viele erneute Render-Vorgänge und Hydration-Abweichungen.

Warnung wegen fehlendem Key

React gibt Folgendes aus: *Jedes Element in einer Liste sollte ein eindeutiges "key"-Prop haben.* Dies geschieht, wenn Sie ein Array rendern, ohne ein `key`-Prop hinzuzufügen. Beheben Sie das Problem, indem Sie jedem Listenelement einen stabilen, eindeutigen Key geben.
// Bad
items.map(item => <li>{item.name}</li>)

// Good
items.map(item => <li key={item.id}>{item.name}</li>)

Properties von Undefined können nicht gelesen werden

Dieser Absturz bedeutet oft, dass Ihr State beim ersten Render-Vorgang `undefined` ist. Initialisieren Sie den State immer mit einem sicheren Standardwert (`[]` für Arrays, `{}` für Objekte und `null` für Werte, die Sie vor der Verwendung prüfen).
// Bad — crashes if data is undefined
const [data, setData] = useState();
return <p>{data.name}</p>;

// Good
const [data, setData] = useState(null);
return data ? <p>{data.name}</p> : <p>Loading...</p>;

Fehler: Zu viele erneute Render-Vorgänge

React löst *Zu viele erneute Render-Vorgänge* aus, wenn eine Komponente in eine Endlosschleife beim Rendern gerät – normalerweise, weil Sie während des Renderns bedingungslos `setState` aufrufen oder eine Inline-Funktion `() => setState(...)` direkt als Prop übergeben, die bei jedem Render-Vorgang ausgelöst wird.
// Bad — setState called on every render
function Counter() {
  const [n, setN] = useState(0);
  setN(n + 1); // infinite loop!
  return <p>{n}</p>;
}

Zu viele erneute Render-Vorgänge beheben

Verschieben Sie State-Aktualisierungen in Event-Handler oder in useEffect. Rufen Sie setState niemals direkt auf der obersten Ebene des Komponentenrumpfs auf.
// Good — update only on click
function Counter() {
  const [n, setN] = useState(0);
  return <button onClick={() => setN(n + 1)}>{n}</button>;
}

Warnung wegen Hydration-Abweichung

In SSR-Apps gibt React die Warnung *Hydration fehlgeschlagen, weil die anfängliche Benutzeroberfläche nicht mit der auf dem Server gerenderten übereinstimmt.* Häufige Ursachen sind `Date.now()` oder `Math.random()` beim Rendern sowie Browsererweiterungen, die HTML einfügen.

Hydration-Abweichungen beheben

Verschieben Sie dynamische Werte (Zeitstempel und zufällige IDs) in einen `useState`, der innerhalb von `useEffect` initialisiert wird. So rendert der Server immer einen statischen Wert, und der Client aktualisiert ihn nach dem Mount.
const [ts, setTs] = useState('');
useEffect(() => {
  setTs(Date.now().toString());
}, []);
return <p>{ts}</p>;

State wird nicht sofort aktualisiert

Denken Sie daran, dass `setState` asynchron ist. Wenn Sie den State direkt nach dem Aufruf protokollieren, sehen Sie den alten Wert. Um den aktualisierten Wert zu sehen, protokollieren Sie ihn in einem `useEffect`, der die State-Variable als Abhängigkeit verwendet.
const [count, setCount] = useState(0);

function handleClick() {
  setCount(count + 1);
  console.log(count); // still old value!
}

useEffect(() => {
  console.log('updated:', count); // correct
}, [count]);

Komponente wird bei einer Prop-Änderung nicht aktualisiert

Wenn eine Komponente bei einer Änderung einer Prop nicht aktualisiert wird, prüfen Sie, ob Sie ein Objekt oder Array direkt verändern. React verwendet Referenzgleichheit – die Veränderung eines bestehenden Objekts löst keinen erneuten Render-Vorgang aus.
// Bad — same reference, no re-render
const list = [];
list.push('item');
setList(list);

// Good — new array reference
setList([...list, 'item']);

Fehler im Fehler-Overlay lesen

Wenn eine React-App während der Entwicklung abstürzt, wird im Browser ein Fehler-Overlay angezeigt. Lesen Sie unten den **Komponenten-Stack** – er zeigt jede Komponente, die die fehlerhafte Komponente gerendert hat, und macht so die Ursache des Fehlers deutlich.

Kurzer Test

Was ist die häufigste Ursache für den React-Fehler „Too many re-renders“?

Zusammenfassung

Sie können jetzt die häufigsten React-Fehler beheben: stabile Keys zu Listen hinzufügen, den State sicher initialisieren, setState beim Rendern vermeiden, Hydration-Abweichungen behandeln und den Komponenten-Stack des Fehler-Overlays lesen.

Kurs abgeschlossen

Herzlichen Glückwunsch! Sie haben **React DevTools & Debugging** abgeschlossen. Sie können jetzt die DevTools installieren, Komponentenbäume und State untersuchen, Render-Vorgänge profilieren und die häufigsten React-Laufzeitfehler diagnostizieren.

Häufig gestellte Fragen

Ist die Lektion „Häufige React-Fehler debuggen“ kostenlos?

Ja — der vollständige Text von „Häufige React-Fehler debuggen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des React Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Häufige React-Fehler debuggen“?

Diagnostizieren Sie Warnungen zu fehlenden Keys, Fehler in undefiniertem State und Hydration-Fehler. Du übst React Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um React Academy zu starten?

Keine Vorkenntnisse erforderlich. React Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Häufige React-Fehler debuggen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser React Academy-Lektion Code schreiben und ausführen?

Ja. Jede React Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. React DevTools installieren und öffnen
  2. Komponentenbäume und Props untersuchen
  3. Den Profiler-Tab verwenden
  4. Häufige React-Fehler debuggen
← Zurück zu React Academy