Contenido del curso
Introducción a React Router DOM 6
- 4

Instalar React Router Dom 6 paso a paso
11:18 min - 5

Browser Router vs Hash Router en GitHub Pages
07:25 min - 6

Primeras rutas con React Router Dom 6
10:41 min - 7

Link y NavLink para navegación en React
13:18 min - 8

Rutas dinámicas con React Router DOM y useParams
15:36 min - 9

useNavigate para navegar con JavaScript
08:56 min - 10

Outlet y rutas anidadas en React Router
Viendo ahora
Fake authentication con React Router DOM 6
- 11

Rutas privadas con fake auth en React
23:48 min - 12

Rutas privadas y públicas en React
09:50 min - 13

Rutas protegidas con Navigate en React
13:45 min - 14

Roles y permisos en aplicaciones web: Autenticación y autorización
11:56 min - 15

Retos avanzados en React: manejo de estado y composición de componentes
08:21 min - 16

Redirect al login con useLocation en React
03:42 min - 17

Rutas dinámicas con roles de usuario
04:56 min
React Router en TODO Machine
- 18

Cómo migrar React portals a rutas reales
11:33 min - 19

Estructura de carpetas con React Router Dom 6
18:40 min - 20

Botón de editar todos con React y SVG
12:19 min - 21

Generación de IDs únicos para gestionar tareas en React
15:22 min - 22

Migrar modales a rutas con useNavigate
17:36 min - 23

Cómo funciona editTodo con useParams
14:02 min - 24

Texto por defecto en textarea con useLocation
21:54 min - 25

Implementación de React Router en Proyectos Legacy
11:07 min
Próximos pasos
Outlet y rutas anidadas en React Router
Resumen
El componente Outlet de React Router Dom v6 te permite renderizar rutas dentro de otras rutas sin perder el contenido de la ruta principal. Si trabajas con React y necesitas mostrar contenido anidado, como un blog post dentro de la página de blog, esta es la herramienta que estabas buscando.
¿Qué son las nested routes en React Router Dom?
Las nested routes son rutas hijas que viven dentro de una ruta madre. El término nested aparece mucho en programación cuando hablamos de cosas dentro de otras cosas, como los nested selectors en CSS.
En React Router Dom v6, cuando metes un componente Route dentro de otro Route, le estás diciendo al router que esa ruta hija comparte el layout de la ruta padre. Eso permite que la página principal se mantenga visible mientras cambia el contenido interno según la URL.
¿Qué hace el componente Outlet? Es el espacio reservado dentro de una ruta padre donde se renderiza la ruta hija activa. Sin Outlet, la ruta padre se sigue mostrando, pero el contenido hijo no aparece en ningún lado.
¿Cómo se anidan rutas dentro de App.js?
En una estructura típica tienes rutas para home, perfil, not found y blog. Para anidar el detalle de cada blog post dentro de la página de blog, abres y cierras el componente Route del blog en lugar de auto-cerrarlo, y por dentro defines la ruta hija.
La ruta hija ya no necesita escribirse como /blog/:slug completa. Como vive dentro de /blog, basta con poner solo la parte nueva del path:
- La ruta padre define el prefijo:
/blog. - La ruta hija hereda ese prefijo automáticamente.
- El contenido se inyecta donde coloques el Outlet.
Esa relación padre-hija es la base del sistema. Y aquí viene lo interesante: si no agregas Outlet, la navegación ocurre, pero visualmente no pasa nada.
¿Por qué la URL cambia pero no veo el contenido hijo?
Si imprimes location con useLocation, vas a ver que la URL sí cambia de /blog a /blog/que-es-react. La navegación funciona, pero el componente padre se está "comiendo" a las otras rutas porque no le indicaste dónde renderizarlas.
Ese es exactamente el problema que resuelve Outlet.
¿Dónde debo colocar el componente Outlet?
Outlet va dentro del componente de la ruta padre, no en el archivo de rutas. En el ejemplo del blog, lo importas dentro de BlogPage y lo colocas en el lugar exacto donde quieres que aparezca el contenido hijo.
El flujo es así:
- Importa
Outletdesde react-router-dom. - Decide la posición visual: arriba del título, en medio del listado o al final.
- Inserta
<Outlet />en ese punto del JSX.
Si lo pones antes del título del blog, el blog post aparecerá encima. Si lo pones después de la lista, aparecerá debajo. Tú decides la jerarquía visual.
¿Cuándo se renderiza el contenido del Outlet? Solo cuando la URL coincide con una ruta hija. Si estás en
/blog, Outlet queda vacío. Si navegas a/blog/que-es-react, ahí se inyecta el componente del post.
¿Qué casos de uso reales tiene Outlet?
La documentación oficial de React Router muestra el ejemplo de una tienda con facturas y órdenes de compra. Al entrar a /compra ves la información general, y al navegar a /compra/factura aparece la factura sin perder el resto del contenido.
Algunos escenarios donde Outlet brilla:
- Dashboards con secciones que comparten sidebar y header.
- Listados con vista de detalle embebida, como en WordPress.
- Flujos de checkout donde cada paso vive dentro del mismo layout.
- Perfiles de usuario con tabs que cambian la URL.
Es el patrón que evita duplicar layout en cada ruta y mantiene la experiencia consistente.
¿Qué viene después de dominar nested routes?
Con Outlet ya puedes insertar componentes dentro de rutas principales sin perder el contenido original. El siguiente paso natural es la fake authentication: rutas privadas, manejo de login y logout, y menús que cambian según el estado del usuario.
No se trata de un sistema de autenticación real, porque la autenticación tiene sus propios cursos por lo compleja que es. El flujo de navegación sí será el real: rutas protegidas, redirecciones tras login y control de logout, todo aplicado al proyecto de simulación de Platzi.
¿Ya estás usando nested routes en tu proyecto actual? Cuéntame en los comentarios cómo organizas tus rutas hijas.