React

Streaming e Suspense nell'App Router

Lo streaming manda la shell mentre il server lavora. Dove mettere il confine Suspense, cosa costa e quando non serve: struttura, codice e limiti.

In sintesi

  • Un confine `` attorno al widget lento basta: la shell parte subito.
  • `loading.tsx` avvolge il segmento intero e perde la granularità dei pannelli.
  • Lo skeleton deve avere l'altezza del contenuto finale, altrimenti produce CLS.
  • Una pagina statica è prerenderizzata: non fa streaming e il confine non serve.

Lo streaming manda l'HTML al browser mentre il server sta ancora lavorando: la struttura compare subito e i dati lenti arrivano dopo. Nell'App Router basta un confine `` attorno al pezzo lento.

Cosa succede davvero

React renderizza il tree sul server e manda il primo chunk con la shell: header, titolo, skeleton. Quando una promise si risolve, il frammento arriva come `