React Suspense
Funkcja Reacta: deklaratywny stan ładowania. <Suspense fallback={<Spinner />}><DataComponent /></Suspense>. Komponent potomny może się „zawiesić”, rzucając Promise — Suspense pokazuje fallback, dopóki ten się nie rozwiąże. Stabilny w React 18.
Zastosowania: ładowane leniwie trasy (React.lazy()), pobieranie danych (z bibliotekami takimi jak Relay, SWR, TanStack Query), strumieniowanie Server Components. Granice Suspense można zagnieżdżać — zewnętrzna pokazuje stan ogólny, wewnętrzne mogą strumieniować pojedyncze sekcje. Selektywna hydracja: serwer strumieniuje HTML, a klient hydratuje komponenty według priorytetu (najpierw widoczne). Tarcie przy migracji: starsze pobieranie danych (useEffect + setState) nie zna Suspense, więc wymaga ręcznego opakowania. Konkurencja: suspense w Vue, resources w Solid i bloki await w Svelte — każdy ma odpowiednik tego wzorca.