0Pricing
React Academy · Lektion

Astro- und React-Islands einrichten

Konfigurieren Sie Astro mit der React-Integration und verwenden Sie die Direktiven client:load, client:idle und client:visible.

Astro- und React-Islands einrichten ist eine kostenlose React Academy-Lektion auf CoddyKit. Dies ist Lektion 3 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.

Ein Astro-Projekt erstellen

Zum Initialisieren eines Astro-Projekts verwenden Sie npx create astro@latest. Dadurch wird ein interaktiver Assistent gestartet, in dem Sie ein Template, TypeScript-Einstellungen und einen Paketmanager auswählen. Astro unterstützt mehrere Starter, darunter ein leeres Template, ein Blog-Template und Templates für Dokumentationen.

Die React-Integration hinzufügen

Astro-Integrationen fügen einem Projekt die Unterstützung für Frameworks hinzu. Wenn Sie npx astro add react ausführen, werden @astrojs/react, react und react-dom automatisch installiert. Außerdem wird astro.config.mjs aktualisiert, sodass es die React-Integration enthält. Die gesamte Einrichtung erfolgt mit einem einzigen Befehl.

Astro-Dateien sind standardmäßig statisch

Eine .astro-Datei ist das Komponentenformat von Astro. Sie besteht aus einem Frontmatter-Bereich (JavaScript zwischen ----Begrenzern) und einem Template-Bereich. Standardmäßig erzeugt eine Astro-Datei statisches HTML – an den Browser wird kein JavaScript gesendet, solange Sie nicht ausdrücklich eine Client-Direktive hinzufügen.

Eine React-Komponente importieren

Der Import einer React-Komponente in eine Astro-Datei verwendet die standardmäßige ES-Modul-Syntax: import Counter from './Counter.jsx'. Ohne Client-Direktive rendert Astro die React-Komponente serverseitig als statisches HTML und sendet dieses HTML an den Browser – für die Komponente wird kein JavaScript ausgeliefert.

Ein Island mit einer Direktive aktivieren

Wenn Sie dem Komponententag im Astro-Template client:visible hinzufügen, wird daraus ein Island: <Counter client:visible />. Astro liefert nun das JavaScript von Counter aus, hydriert die Komponente, sobald sie in den sichtbaren Bereich gescrollt wird, und macht sie interaktiv. Ohne die Direktive bleibt sie statisches HTML.

React-Komponenten verwenden Standard-React

React-Komponenten, die als Astro-Islands verwendet werden, werden mit Standard-React geschrieben – sie verwenden Hooks, State, Effekte und beliebige React-Bibliotheken. Innerhalb der React-Komponente selbst gibt es keine Astro-spezifische API. Die Island-Grenze wird im Astro-Template und nicht im Code der Komponente definiert.

Der State ist pro Island isoliert

Jede Island-Instanz ist ein unabhängiger React-Baum. Zwei Counter-Islands auf derselben Seite teilen sich ihren State nicht. Wenn Sie gemeinsamen State benötigen, haben Sie drei Möglichkeiten: Fassen Sie sie zu einem Island zusammen, verwenden Sie URL-Suchparameter für serialisierbaren State oder nutzen Sie eine Bibliothek für gemeinsamen State wie nanostores.

Kommunikation zwischen Islands mit Nanostores

Die Bibliothek @nanostores/react stellt leichtgewichtige Atome bereit, die jedes Island abonnieren kann. Ein Island schreibt in ein Nano-Store-Atom, ein anderes Island liest daraus. Da Nano-Stores frameworkunabhängig sind, funktioniert dieses Muster auch zwischen React- und Vue-Islands auf derselben Seite.

Astro-Content-Collections

Astro Content Collections bieten eine typsichere Möglichkeit, Markdown- und MDX-Dateien zu verwalten. Definieren Sie ein Collection-Schema mit Zod, legen Sie Markdown-Dateien in src/content/ ab, und Astro erzeugt vollständig typisierte Abfragefunktionen. Dies ist das Standardmuster für Blogbeiträge, Dokumentationen und Produktseiten.

Das Projekt bauen

Durch die Ausführung von astro build wird ein Ordner dist/ mit statischen HTML-Dateien erzeugt. Für jede Seite gibt Astro eine HTML-Datei mit den serverseitig gerenderten Inhalten und nur den JavaScript-Bundles aus, die für die Islands auf dieser Seite benötigt werden. Seiten ohne Islands enthalten kein JavaScript.

Bereitstellungsoptionen

Das statische Ergebnis kann ohne Server auf jedem CDN (Netlify, Vercel, Cloudflare Pages) bereitgestellt werden. Für Anforderungen an serverseitiges Rendering (dynamische Routen, API-Endpunkte) unterstützt Astro SSR-Adapter für Node.js, Vercel Edge, Cloudflare Workers und Deno. Islands funktionieren in beiden Modi identisch.

Direktive für die React-Integration

Welche minimale Änderung muss an einer importierten React-Komponente in einem Astro-Template vorgenommen werden, damit sie auf dem Client interaktiv wird?

Lektionsrückblick

Richten Sie Astro mit React mithilfe von npx astro add react ein. Astro-Dateien sind standardmäßig statisch. Wenn Sie dem Tag einer React-Komponente eine client:-Direktive hinzufügen, wird daraus ein hydriertes Island. React-Komponenten sind normales React und verwenden keine Astro-spezifischen APIs. Der State ist pro Island isoliert; nanostores ermöglichen die Kommunikation zwischen Islands. Der Build erzeugt statisches HTML mit genau dem benötigten JavaScript für die Islands.

Häufig gestellte Fragen

Ist die Lektion „Astro- und React-Islands einrichten“ kostenlos?

Ja — der vollständige Text von „Astro- und React-Islands einrichten“ 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 „Astro- und React-Islands einrichten“?

Konfigurieren Sie Astro mit der React-Integration und verwenden Sie die Direktiven client:load, client:idle und client:visible. 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 3 von 4.

Wie lange dauert die Lektion „Astro- und React-Islands einrichten“?

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