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
06:56 min
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
Viendo ahora
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
Rutas dinámicas con roles de usuario
Resumen
Si llegaste hasta aquí, ya manejas autenticación, autorización y rutas básicas con React Router. Ahora viene el reto final del módulo: construir un sistema de rutas dinámicas con permisos avanzados al estilo de Platzi, Twitter o cualquier red social donde cada usuario tiene su propio perfil público, pero solo el dueño (o un administrador) puede editarlo.
Este desafío te obliga a integrar todo lo aprendido hasta ahora: hooks de React, custom hooks, estado global, patrones de render y las APIs de React Router DOM v6.
¿Cómo funcionan las rutas de perfil públicas en apps tipo Platzi?
La idea es replicar el comportamiento real de plataformas como Platzi, Twitter o cualquier red social. No existe una ruta genérica /profile, sino una ruta única por cada usuario.
Cualquier persona, esté logueada o no, puede entrar a platzi.com/p/juandc y ver la información pública de ese perfil. La aplicación renderiza esa ruta sin importar quién la visite. Pero la edición es otra historia: solo el dueño de la cuenta puede modificar sus datos.
¿Qué es una ruta dinámica en React Router? Es una ruta cuyo segmento cambia según un parámetro, por ejemplo
/p/:username. ConuseParamslees ese valor y cargas la información correspondiente. [01:08]
¿Qué reglas de permisos debes implementar en el reto?
Aquí está el corazón del desafío. La lógica de permisos tiene tres capas que debes resolver con claridad.
- Visitante anónimo o usuario normal ajeno: ve el perfil público, sin botones de edición.
- Dueño de la cuenta: ve su perfil y además un botón o formulario para editar su propia información.
- Administrador: puede editar cualquier perfil, el suyo y el de los demás.
La validación se hace comparando la identidad autenticada con el parámetro de la URL. Si los usernames o correos coinciden, se muestra la opción de edición. Si no coinciden y no hay rol de administrador, se oculta.
¿Cómo verifico si el usuario logueado es el dueño del perfil? Comparas el identificador del usuario autenticado (guardado en tu estado global) con el parámetro que obtienes de
useParams. Si son iguales, renderizas el botón de editar. [02:15]
¿Qué herramientas de React necesitas combinar para resolverlo?
Este reto no se resuelve con una sola técnica. Necesitas orquestar varias piezas que ya viste en clases anteriores.
- Rutas dinámicas con
useParamspara capturar el username desde la URL. - Estado global para compartir no solo la autenticación, sino también la información pública de cada cuenta entre componentes.
- Patrones de render como los del reto de hace dos clases, donde decidías qué mostrar según el rol y el contexto.
- React Hooks y custom hooks para encapsular la lógica de permisos y reutilizarla.
- React Router DOM v6 con sus APIs de rutas anidadas y parámetros.
La clave está en pensar la solución de forma filosófica antes de tocar código. Ya tuviste un reto similar antes, así que aplica esa misma manera de razonar a este caso. [03:42]
¿Por qué compartir tu intento, incluso si falla, es lo más valioso?
Aquí va una invitación honesta. Los comentarios favoritos no son los de soluciones perfectas, son los de intentos fallidos bien documentados.
Algo como: "intenté esto, pero pasó aquello, entonces probé esta otra ruta y casi funciona excepto por este detalle". Ese tipo de aporte abre las mejores discusiones porque obliga a pensar a toda la comunidad. La comunidad es el valor más sagrado de Platzi, y se construye justo en esos momentos donde alguien se atreve a mostrar su proceso, no solo el resultado.
Intenta resolver el reto con todas tus fuerzas. Si lo logras, genial. Si no, también. Lo importante es que cuentes tu paso a paso, el cómo, el porqué, las dudas que te surgieron. En los comentarios te ayudamos a llegar a la solución o a descubrir un ángulo que no habías considerado.
¿Qué viene después de este reto en el curso?
Una vez completes el desafío, ya tendrás todas las herramientas de React Router que necesitas para cualquier proyecto. Pero el curso no termina ahí.
El siguiente módulo es una migración real: vas a tomar el proyecto de to do machine, que hasta ahora vive en una sola ruta con modales, y lo vas a convertir en una aplicación con rutas reales. Eso implica también añadir funcionalidades como editar to dos, lo que vuelve la app un poco más compleja y mucho más cercana a un producto real.
Cuéntame en los comentarios cómo te fue con el reto, qué intentaste primero, qué te trabó y qué decisión filosófica tomaste para resolver los permisos.