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
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
Migrando a React Router Dom 5 en proyectos reales
Resumen
Migrar de React Router Dom 6 a React Router Dom 5 suena como un retroceso, pero es justamente el tipo de tarea que vas a enfrentar cuando entres a trabajar en una empresa real. Aquí aprendes por qué bajar de versión es un ejercicio profesional valioso y cómo replicar comportamientos en proyectos legacy sin romper la aplicación.
Por qué hacer downgrade de React Router Dom 6 a React Router Dom 5
El reto parte del mismo package.json con el que desplegaste tu aplicación. La idea es regresar a la rama inicial del curso y empezar de cero, pero esta vez instalando React Router Dom 5 en lugar de la 6.
La razón es simple: cuando construyes proyectos personales, eliges la última versión de cualquier tecnología. Quieres React 18, el router más nuevo, las dependencias recién salidas. Pero al entrar a una startup, agencia o empresa, lo más probable es que el código ya exista y use versiones anteriores que siguen funcionando perfectamente.
¿Por qué muchas empresas siguen usando React Router Dom 5? Porque la aplicación funciona, migrar cuesta tiempo de desarrollo y los beneficios de actualizar no siempre justifican el esfuerzo frente a arreglar bugs o mejorar la experiencia del usuario.
Qué hacer cuando llegas a un proyecto con dependencias desactualizadas
Imagina que entras como front end o software developer a Platzi. Te asignan tu primera tarea, abres el package.json y ves React Router Dom 5. Tu primer impulso es decirle a tu líder que hay que actualizar.
La respuesta probable de tu jefe será: concéntrate en el bug que te asignaron. Y si insistes con que solo trabajas con la versión 6, te van a echar. No por grosería, sino porque no es prioridad para el negocio.
Ahora, si planteas la migración con argumentos sólidos, la conversación cambia. Tu product manager o líder técnico te preguntará por qué vale la pena. Las razones válidas suelen ser:
- Mejor rendimiento medible en la aplicación.
- Una API más limpia que reduce código repetido.
- Funcionalidades que la versión nueva ofrece y la actual no.
- Soporte activo frente a una versión que dejará de recibir parches.
Cuándo no vale la pena migrar dependencias
Si los custom hooks cambian un poco, la API es ligeramente distinta y la mejora de rendimiento es irrelevante, la migración no se justifica. Cambiar el package.json es lo fácil; lo costoso es actualizar todos los archivos donde se usa esa dependencia en todo el proyecto.
Ese tiempo podría invertirse en arreglar bugs reales, mejorar la user experience o implementar funcionalidades que los usuarios llevan tiempo pidiendo. Esa es la decisión de negocio que tu líder tiene que tomar.
¿Qué es un proyecto legacy? Es un proyecto en producción que usa tecnologías o versiones anteriores y que sigue funcionando. Migrarlo cuesta tiempo y se hace solo cuando el beneficio supera al esfuerzo.
Cómo replicar los comportamientos de React Router Dom 6 con la versión 5
El ejercicio consiste en tomar todo lo que construiste con React Router Dom 6 en Todo Machine y reproducir los mismos comportamientos usando React Router Dom 5. No el mismo código, porque la herramienta cambia, pero sí el mismo resultado funcional.
Algunos puntos donde notarás diferencias:
- La forma de declarar rutas cambia entre
Routes(v6) ySwitch(v5). - Los custom hooks tienen firmas distintas en cada versión.
- La navegación programática usa APIs diferentes entre ambas versiones.
- El manejo de rutas anidadas se estructura distinto.
Qué aprendes al hacer este ejercicio
Replicar comportamientos en una versión anterior te entrena para el escenario real de tu primer trabajo. Vas a leer documentación antigua, vas a revisar issues de GitHub, vas a comparar APIs y vas a tomar decisiones de implementación con restricciones que no elegiste tú.
Esa es una habilidad clave: adaptarte al stack de la empresa en lugar de imponer el tuyo. Los proyectos personales son tu laboratorio; los proyectos de empresa son donde demuestras criterio técnico.
Qué hacer después de completar el reto
Cuando termines, comparte tu experiencia en los comentarios. Si React Router Dom 5 te pareció espantoso, cuéntalo. Si bajándole el ego al asunto te dio casi lo mismo trabajar con una u otra versión, también cuéntalo.
El objetivo es aprender en comunidad cuándo vale la pena migrar dependencias en proyectos legacy y cuándo no. Esa conversación te va a servir más que cualquier curso aislado cuando estés frente a tu primer package.json desactualizado en una empresa real.