0Pricing
React Academy · Leçon

Les composants serveur React expliqués

Découvrez ce que sont les RSC, en quoi ils diffèrent des composants client et quand utiliser chacun d’eux.

Les composants serveur React expliqués est une leçon React Academy gratuite sur CoddyKit. Ceci est la leçon 1 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.

Bienvenue

Dans cette leçon, vous apprendrez ce que sont les composants serveur React (RSC), en quoi ils diffèrent des composants client et quand utiliser chaque type.

Les deux univers de composants

React 19 et le routeur d'application de Next.js répartissent les composants en deux univers : **composants serveur** (s'exécutent sur le serveur, sans interactivité) et **composants client** (s'exécutent sur le serveur et le client, avec un état et des gestionnaires d'événements).

Composants serveur par défaut

Dans le routeur d'application de Next.js, chaque composant est par défaut un composant serveur. Activez le mode composant client en ajoutant 'use client' au début du fichier.
// Server Component (default, no directive needed)
export default async function Page() {
  const data = await fetch('/api/posts').then(r => r.json());
  return <ul>{data.map(p => <li key={p.id}>{p.title}</li>)}</ul>;
}

Composants client

Ajoutez 'use client' au début d'un fichier pour en faire un composant client. Les composants client peuvent utiliser useState, useEffect, les gestionnaires d'événements et les API du navigateur.
'use client';
import { useState } from 'react';

export function Counter() {
  const [n, setN] = useState(0);
  return <button onClick={() => setN(n+1)}>{n}</button>;
}

Possibilités des composants serveur

Les composants serveur peuvent : attendre des requêtes de base de données, lire le système de fichiers, accéder aux secrets d'environnement, importer de gros paquets réservés au serveur et effectuer le rendu sans envoyer de JavaScript au client.
// Fetch from DB directly in the component!
import { db } from '@/lib/db';

export default async function UserList() {
  const users = await db.select().from(usersTable);
  return <ul>{users.map(u => <li key={u.id}>{u.name}</li>)}</ul>;
}

Limites des composants serveur

Les composants serveur CANNOT utiliser useState, useEffect, les gestionnaires d'événements (onClick, etc.), les API du navigateur (window, localStorage) ou le contexte. Ces fonctionnalités nécessitent 'use client'.

Composer des composants serveur et client

Le modèle courant est le suivant : un composant serveur récupère les données et les transmet à un composant client sous forme de propriétés. Le serveur gère les données ; le client gère l'interaction.
// Server Component
export default async function Page() {
  const user = await getUser();
  return <ProfileEditor user={user} />; // client component
}

// Client Component (separate file)
'use client';
export function ProfileEditor({ user }) {
  const [name, setName] = useState(user.name);
  return <input value={name} onChange={e => setName(e.target.value)} />;
}

Règle de frontière entre client et serveur

Dès que vous marquez un fichier avec 'use client', tous les composants qu'il importe sont également traités comme des composants client. La frontière entre le serveur et le client se situe au niveau du fichier.

Zéro JavaScript pour les composants serveur

Les composants serveur produisent du HTML sur le serveur. Leur code de composant n'est NEVER envoyé au navigateur. Cela réduit considérablement la taille du paquet JavaScript.

Composants serveur et SSR

Le SSR traditionnel produit une page complète en HTML, mais envoie tout le code des composants au client pour l'hydratation. Les composants serveur n'envoient jamais leur code au client : seul leur résultat produit est envoyé.

Vérification rapide

Quelle directive ajoutez-vous à un fichier pour en faire un composant client React dans le routeur d'application de Next.js ?

Récapitulatif

Les composants serveur s'exécutent sur le serveur, peuvent accéder aux bases de données et aux secrets, et n'envoient aucun JS au client. Les composants client ajoutent 'use client' et prennent en charge l'état, les effets et les gestionnaires d'événements. Composez-les ainsi : le serveur récupère les données, le client interagit.

Suite du cours

Leçon suivante : **La fonction use() pour les ressources asynchrones** — vous lirez des promesses et des contextes lors du rendu avec la fonction use() de React 19.

Questions Fréquemment Posées

La leçon « Les composants serveur React expliqués » est-elle gratuite ?

Oui — le texte complet de « Les composants serveur React expliqués » 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 « Les composants serveur React expliqués » ?

Découvrez ce que sont les RSC, en quoi ils diffèrent des composants client et quand utiliser chacun d’eux. 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 1 sur 4.

Combien de temps prend la leçon « Les composants serveur React expliqués » ?

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

  1. Les composants serveur React expliqués
  2. Le hook use() pour les ressources asynchrones
  3. Actions React et useActionState
  4. useOptimistic pour un retour instantané
← Retour à React Academy