L'ancien monde : SSR bloquant
En SSR classique, tout le HTML attend la requête la plus lente. Tu fetch user, posts, comments → tu attends 600 ms avant le premier byte.
Le nouveau monde : RSC + streaming
Avec React Server Components, chaque Suspense boundary streame son HTML dès qu'il est prêt :
export default async function Page() {
return (
<main>
<Header /> {/* statique, envoyé immédiatement */}
<Suspense fallback={<Skeleton />}>
<SlowDataTable /> {/* streamé quand prêt */}
</Suspense>
</main>
);
}
Le navigateur reçoit le <Header /> en 50 ms et la table en 600 ms — mais l'utilisateur voit du contenu immédiatement.
Les pièges
- Tout est server par défaut. Ajoute
"use client"seulement quand tu as besoin d'interactivité. - Pas de
useStatedans un RSC. Si tu te poses la question, refactor. - Le streaming nécessite un edge runtime ou Node. Pas de static export.
Bilan
Le RSC streaming, c'est un changement de paradigme. Plus de "tout SSR ou tout CSR" — du composant par composant.