React Concurrente 18 / 19
Suspense, useTransition, useDeferredValue, lazy loading y el hook use().
- Difícil~35 min
Renderizado Concurrente con useTransition
La interfaz se congela al filtrar una lista grande porque la actualización de estado bloquea el render. Los…
- useTransition
Comenzar reto - Difícil~35 min
Suspense con Error Boundaries
Un componente que usa Suspense para obtención de datos necesita un manejo de errores adecuado. Cuando el…
- Suspense
- Error Boundary
Comenzar reto - Difícil~35 min
useDeferredValue para Búsqueda
Un input de búsqueda con filtrado costoso hace que el input tenga retraso. Usa useDeferredValue para diferir…
- useDeferredValue
Comenzar reto - Media~20 min
División de Código con React.lazy
El bundle de la aplicación es demasiado grande. Divide el componente pesado Chart en un chunk separado que se…
- Suspense
- React.lazy
Comenzar reto - Media~20 min
División de Código con React.lazy y Suspense
La aplicación agrupa todos los componentes juntos, haciendo que la carga inicial sea lenta. Implementa la…
- Suspense
- React.lazy
Comenzar reto - Difícil~35 min
Leyendo una Promise con use() de React 19
Reemplaza el baile de useEffect + useState para fetching de datos con el hook use() de React 19. La promise…
- use()
Comenzar reto - Difícil~35 min
useTransition para una UI No Bloqueante
Cambiar de pestaña renderiza una lista pesada y congela el input. Usa useTransition para marcar la…
- useTransition
Comenzar reto - Media~20 min
Guestbook Optimista con useOptimistic de React 19
El guestbook base es pesimista y artesanal: publicar espera a un servidor lento y fallón (~900ms, ~25% de…
- useOptimistic
- Forms
Comenzar reto - Difícil~35 min
Data Fetching con Suspense y el Hook use() de React 19
La base obtiene una cita a la manera pre-React-19: useEffect + tres estados de status (data / loading /…
- use()
- Suspense
- Data fetching
Comenzar reto - Media~20 min
Búsqueda Fluida con useTransition y useDeferredValue
Un catálogo buscable de 2,400 productos donde cada fila es deliberadamente cara de renderizar (~0.15ms de…
- useTransition
- useDeferredValue
Comenzar reto