0Pricing
React Academy · Lektion

Das Problem der vollständigen Hydrierung

Messen Sie die Kosten der Hydrierung einer vollständigen React-SPA und verstehen Sie, warum statische Seiten sie nicht benötigen.

Das Problem der vollständigen Hydrierung ist eine kostenlose React Academy-Lektion auf CoddyKit. Dies ist Lektion 1 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.

Was ist Hydration

Hydration bezeichnet den Vorgang, bei dem React serverseitig gerendertes HTML übernimmt und JavaScript-Ereignis-Listener daran anbindet. Der Server sendet zunächst das HTML (schnell). Anschließend lädt der Browser das JavaScript-Bundle herunter, und React „hydratisiert“ das statische HTML, damit es interaktiv wird. Bis die Hydration abgeschlossen ist, sieht die Seite interaktiv aus, ist es aber nicht.

Hydrationskosten einer traditionellen SPA

Eine traditionelle Single-Page-Anwendung sendet das gesamte JavaScript-Bundle an den Browser. React muss es herunterladen, parsen und ausführen und anschließend an jede Komponente im Baum Ereignis-Listener anbinden. Bei großen Anwendungen kann dieser Vorgang auf mobilen Geräten der Mittelklasse mehrere Sekunden dauern.

Time to Interactive (TTI)

Time to Interactive misst, wie lange es dauert, bis die Benutzer mit der Seite interagieren können. Hydration blockiert die TTI direkt: Die Seite kann bereits fertig aussehen, weil das serverseitig gerenderte HTML sichtbar ist, aber Schaltflächen und Formulare reagieren erst, wenn React die Ereignis-Listener vollständig angebunden hat. Eine hohe TTI bedeutet eine schlechte Benutzererfahrung.

Das Paradoxon statischer Inhalte

Betrachten Sie eine Marketingseite: 80 % der Inhalte bestehen aus statischem Text, Bildern und Überschriften, die sich nie ändern. Nur 20 % umfassen interaktive Widgets wie ein Newsletter-Formular oder einen Videoplayer. Bei der traditionellen SPA-Hydration wird trotzdem die gesamte Seite verarbeitet, sodass statische Komponenten unnötig bearbeitet werden.

Hydrationskosten messen

Das Performance-Profiling in den Chrome DevTools zeigt die Hydrationskosten. Im Wasserfalldiagramm des Hauptthreads können Sie die Aufgabe „React hydration“ als langen JavaScript-Ausführungsblock nach dem ersten Rendern erkennen. Je länger dieser Block ist, desto stärker ist der Hauptthread ausgelastet und desto weniger responsiv ist die Seite.

Die Größe des Komponentenbaums ist entscheidend

Je größer der React-Komponentenbaum ist, desto mehr Arbeit erfordert die Hydration. React muss jede Komponente besuchen, das serverseitig gerenderte HTML mit dem vergleichen, was die Komponente rendern würde, und Ereignis-Listener anbinden. Eine komplexe Seite mit Hunderten von Komponenten kann selbst auf schnellen Geräten messbare Hydrationskosten verursachen.

Nebenläufige Hydration in React 18

React 18 führte die nebenläufige Hydration ein. Dabei kann React die Hydration in kleinere Abschnitte aufteilen und zwischendurch an den Browser abgeben. Dadurch wirkt der Browser während der Hydration großer Bäume nicht vollständig eingefroren. Die nebenläufige Hydration verringert die Auswirkungen jedoch nur — sie beseitigt die grundlegenden Kosten nicht.

Selektive Hydration in React 18

Die selektive Hydration (über Suspense) ermöglicht es React, Komponenten nach Priorität zu hydratisieren — Benutzerinteraktionen lösen die sofortige Hydration der betreffenden Komponente aus. Das verbessert die Reaktionsfähigkeit, findet aber weiterhin innerhalb eines einzigen React-Baums statt: Letztlich werden alle Komponenten in diesem Baum hydratisiert.

Die zentrale Erkenntnis

Die grundlegende Erkenntnis hinter der Islands-Architektur lautet, dass der größte Teil einer typischen Seite überhaupt kein JavaScript benötigt. Navigationsleisten, Hero-Bereiche, Footer-Links, Blogartikeltext und Produktbeschreibungen dienen ausschließlich der Darstellung. Eine Hydration dieser Elemente zu erzwingen, ist daher grundsätzlich ineffizient.

Auswirkungen in der Praxis

Studien von Teams für Web-Performance zeigen, dass das Parsen und Ausführen von JavaScript auf mobilen Geräten den größten Kostenfaktor darstellt. Ein JavaScript-Bundle mit 300 kB benötigt auf einem durchschnittlichen Android-Telefon 2–3 Sekunden zum Parsen. Eine Verringerung der an den Browser gesendeten JavaScript-Menge bringt im Vergleich zu Optimierungen innerhalb von React überproportional große Performancevorteile.

Die Hydrationskosten

Jedes Kilobyte JavaScript, das Sie einer React-Anwendung hinzufügen, erzeugt zusätzliche Hydrationsarbeit. Auch wenn eine Komponente ausschließlich dekorativ ist, nimmt sie an der Hydration teil, sobald sie sich im React-Baum befindet. Diese „Hydrationskosten“ steigen mit der Größe der Anwendung und machen es zunehmend schwieriger, bei wachsenden Anwendungen gute TTI-Werte aufrechtzuerhalten.

TTI und Hydration

In welchem Zusammenhang stehen die React-Hydration und Time to Interactive (TTI)?

Zusammenfassung der Lektion

Bei der traditionellen React-Hydration wird der gesamte Komponentenbaum verarbeitet, auch statische Inhalte, die kein JavaScript benötigen. Dadurch wird Time to Interactive blockiert, und die Kosten steigen mit der Größe der Anwendung. Die nebenläufige und selektive Hydration von React 18 verringert die Auswirkungen, beseitigt die grundlegenden Kosten jedoch nicht. Die zentrale Erkenntnis: Die meisten Inhalte einer Seite benötigen schlicht kein JavaScript, wodurch eine vollständige Hydration ineffizient ist.

Häufig gestellte Fragen

Ist die Lektion „Das Problem der vollständigen Hydrierung“ kostenlos?

Ja — der vollständige Text von „Das Problem der vollständigen Hydrierung“ 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 „Das Problem der vollständigen Hydrierung“?

Messen Sie die Kosten der Hydrierung einer vollständigen React-SPA und verstehen Sie, warum statische Seiten sie nicht benötigen. 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 1 von 4.

Wie lange dauert die Lektion „Das Problem der vollständigen Hydrierung“?

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. Das Problem der vollständigen Hydrierung
  2. Islands-Architektur: Selektive Hydrierung
  3. Astro- und React-Islands einrichten
  4. Performance messen: Lighthouse und Core Web Vitals
← Zurück zu React Academy