Contenido del curso

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) y Switch (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.