Configurer Astro et les îlots React
Configurez Astro avec l’intégration React et utilisez les directives client:load, client:idle et client:visible.
Configurer Astro et les îlots React est une leçon React Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage React Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours React Academy comprend 4 leçons au total.
Créer un projet Astro
Pour initialiser un projet Astro, utilisez npx create astro@latest, qui lance un assistant interactif permettant de choisir un modèle, les paramètres TypeScript et un gestionnaire de paquets. Astro prend en charge plusieurs modèles de départ, notamment un modèle vierge, un modèle de blog et des modèles de documentation.
Ajouter l’intégration React
Les intégrations Astro ajoutent la prise en charge d’un framework à un projet. L’exécution de npx astro add react installe automatiquement @astrojs/react, react et react-dom, puis met à jour astro.config.mjs pour inclure l’intégration React. Toute la configuration s’effectue avec une seule commande.
Les fichiers Astro sont statiques par défaut
Un fichier .astro est le format de composant d’Astro. Il se compose d’une section de préambule (du JavaScript située entre des délimiteurs ---) et d’une section de modèle. Par défaut, un fichier Astro produit du HTML statique : aucun JavaScript n’est envoyé au navigateur, sauf si vous ajoutez explicitement une directive client.
Importer un composant React
L’importation d’un composant React dans un fichier Astro utilise la syntaxe standard des modules ES : import Counter from './Counter.jsx'. Sans directive client, Astro effectue le rendu côté serveur du composant React sous forme de HTML statique et envoie ce HTML au navigateur : aucun JavaScript n’est envoyé pour ce composant.
Activer un îlot avec une directive
Ajouter client:visible à la balise du composant dans le modèle Astro le transforme en îlot : <Counter client:visible />. Astro envoie alors le JavaScript de Counter, l’hydrate lorsqu’il entre dans la zone visible et le rend interactif. Sans cette directive, il s’agit de HTML statique.
Les composants React sont du React standard
Les composants React utilisés comme îlots Astro sont écrits en React standard : ils utilisent des crochets, un état, des effets et n’importe quelle bibliothèque React. L’intérieur du composant React lui-même ne contient aucune API propre à Astro. La frontière de l’îlot est définie dans le modèle Astro, et non dans le code du composant.
L’état est isolé par îlot
Chaque instance d’îlot constitue une arborescence React indépendante. Deux îlots Counter présents sur la même page ne partagent pas leur état. Si vous avez besoin d’un état partagé, trois options s’offrent à vous : les regrouper dans un seul îlot, utiliser les paramètres de recherche de l’URL pour un état sérialisable ou utiliser une bibliothèque d’état partagé comme nanostores.
Communication entre îlots avec Nanostores
La bibliothèque @nanostores/react fournit des atomes légers auxquels n’importe quel îlot peut s’abonner. Un îlot écrit dans un atome de nano-magasin et un autre îlot le lit. Comme les nano-magasins sont indépendants du framework, ce modèle fonctionne également entre des îlots React et Vue présents sur la même page.
Collections de contenu Astro
Les collections de contenu Astro offrent une manière sûre du point de vue des types de gérer des fichiers Markdown et MDX. Définissez le schéma d’une collection avec Zod, placez les fichiers Markdown dans src/content/, et Astro génère des fonctions de requête entièrement typées. Il s’agit du modèle standard pour les articles de blog, la documentation et les pages de produit.
Construire le projet
L’exécution de astro build génère un dossier dist/ contenant des fichiers HTML statiques. Pour chaque page, Astro produit un fichier HTML avec le contenu rendu côté serveur et uniquement les paquets JavaScript nécessaires aux îlots de cette page. Les pages qui ne contiennent aucun îlot ne produisent aucun JavaScript.
Options de déploiement
La sortie statique peut être déployée sur n’importe quel CDN (Netlify, Vercel, Cloudflare Pages), sans serveur. Pour les besoins de rendu côté serveur (routes dynamiques, points d’accès d’API), Astro prend en charge des adaptateurs SSR pour Node.js, Vercel Edge, Cloudflare Workers et Deno. Les îlots fonctionnent de la même manière dans les deux modes.
Directive d’intégration React
Quelle modification minimale faut-il apporter à un composant React importé dans un modèle Astro pour le rendre interactif côté client ?
Récapitulatif de la leçon
Configurez Astro avec React à l’aide de npx astro add react. Les fichiers Astro sont statiques par défaut ; l’ajout d’une directive client: à la balise d’un composant React le transforme en îlot hydraté. Les composants React sont du React standard, sans API propre à Astro. L’état est isolé par îlot ; nanostores permet la communication entre les îlots. La construction produit du HTML statique avec uniquement le JavaScript nécessaire aux îlots.
Questions Fréquemment Posées
La leçon « Configurer Astro et les îlots React » est-elle gratuite ?
Oui — le texte complet de « Configurer Astro et les îlots React » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours React Academy, passe à CoddyKit PRO. Le cours React Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Configurer Astro et les îlots React » ?
Configurez Astro avec l’intégration React et utilisez les directives client:load, client:idle et client:visible. Tu pratiques React Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer React Academy ?
Aucune expérience préalable n'est requise. React Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Configurer Astro et les îlots React » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon React Academy ?
Oui. Chaque leçon React Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Le problème de l’hydratation complète
- Architecture en îlots : hydratation sélective
- Configurer Astro et les îlots React
- Mesurer les performances : Lighthouse et Core Web Vitals