Suspense y lazy: qué siguen aportando hoy
Entiende qué hace Suspense, dónde encaja de verdad y cómo combinarlo con lazy para code splitting.
Sí, Suspense se sigue usando.
Pero conviene entender para qué:
- mostrar un fallback mientras algo suspende
- lazy loading de componentes con
lazy - integraciones con fuentes de datos compatibles con Suspense
No es un reemplazo universal de cualquier isLoading.
lazy + Suspense
import { lazy, Suspense } from 'react';
const SettingsPage = lazy(() => import('./SettingsPage'));
function App() {
return (
<Suspense fallback={<p>Cargando módulo...</p>}>
<SettingsPage />
</Suspense>
);
}
Esto permite dividir código y cargar el componente solo cuando hace falta.
Qué hace realmente Suspense
Suspense define un límite visual. Si algo dentro “suspende”, React muestra el fallback hasta que ese contenido esté listo.
Dónde encaja bien
- rutas pesadas
- modales poco usados
- paneles secundarios
- búsqueda o listados con fuentes compatibles
Qué no conviene asumir
- que cualquier
fetchconuseEffectya usa Suspense - que debes envolver media app sin criterio
- que sustituye por completo el modelado de estados de carga
Regla práctica
Empieza usando Suspense con lazy. Es el caso más claro y útil.
Después, si tu stack de datos o framework soporta Suspense de forma nativa, entonces ya compensa profundizar más.
La siguiente lección trata las transiciones, que suelen complementar bien estas experiencias de carga.