Fabio Erik Sosa Morinigo
Gilbert Ardila
David Prado
Instalar React Router Dom 6 en un proyecto creado con Create React App es el primer paso para añadir navegación entre páginas a tu aplicación de React. Aquí aprendes el proceso completo, por qué fijar la versión 6 y cómo evitar conflictos de compatibilidad con React 18.
¿Por qué instalar React Router Dom 6 y no otra versión?
El ecosistema de routers en React ha pasado por muchos cambios: versiones oficiales que se descontinuaron, forks alternativos, la fusión con Reach Router y, hoy, un repositorio mantenido bajo la cuenta de Remix que agrupa React Router, React Router Dom y React Router Native.
La recomendación es empezar con la versión 6 aunque más adelante migres a otra. Todos los routers comparten una estructura similar, así que dominar los fundamentos en la 6 te facilita saltar a versiones nuevas o más antiguas sin perder el hilo.
¿Qué es React Router Dom? Es la librería oficial para manejar rutas y navegación en aplicaciones web hechas con React. Se instala desde npm con el nombre
react-router-domy pertenece al repositorio de Remix.
¿Cómo crear el proyecto base con Create React App?
Antes de instalar el router necesitas un proyecto limpio de React [01:50]. Para evitar problemas con versiones globales desactualizadas, usa npx y fija la versión de Create React App.
Ejecuta en tu terminal:
bash npx create-react-app@5 ./
El punto y la barra le indican que use la carpeta actual. Si prefieres un nombre específico, reemplaza ./ por algo como reactrouterejemplo. La ventaja de usar npx es que descarga el paquete, lo ejecuta y luego lo elimina, así siempre trabajas con la versión que pediste sin conflictos de dependencias.
¿Qué hago si aparecen errores durante la instalación?
Los errores más comunes vienen de carpetas previas como la de Visual Studio Code o de versiones cacheadas de Create React App. La solución es directa:
No entres en pánico. La mayoría de errores se resuelven siguiendo las instrucciones del propio terminal.
¿Cómo instalar React Router Dom 6 con npm?
Una vez dentro de la carpeta del proyecto, instala la dependencia con npm fijando el número de versión [09:30]:
bash npm install --save react-router-dom@6
La arroba seguida del número le pide a npm cualquier versión que empiece por 6, sea 6.3, 6.4 o la última minor disponible. Mientras el primer dígito siga siendo 6, todo lo que aprendas aplica sin cambios. Si quieres ser aún más estricto, puedes especificar react-router-dom@6.3.0.
¿Por qué fijar la versión con @6? Porque las APIs cambian entre major versions. Si npm instala la versión 7 o superior, componentes y hooks podrían comportarse distinto y romper tu código.
¿Va en dependencies o en devDependencies?
React Router Dom debe quedar en dependencies, no en devDependencies. La razón es simple: la librería se ejecuta también en producción, igual que React. Si la pones en devDependencies, tu app rota al desplegarla. Revisa tu package.json y confirma que aparezca en el bloque correcto.
¿React Router Dom 6 es compatible con React 18?
Sí, y este es uno de los puntos críticos. Create React App actual instala React 18, y React Router Dom 6 fue diseñado para soportarlo. Las versiones 5 o anteriores del router no son compatibles con React 18 por cambios en la forma de crear el root y el árbol de renderizado.
La regla práctica:
Si tu proyecto usa una versión vieja del router, valora hacer el upgrade a la 6 o mantener React 17 hasta que migres.
¿Cómo verifico que todo quedó bien instalado?
Levanta el servidor de desarrollo:
bash npm start
El servidor abre en localhost:3000 con la pantalla por defecto de Create React App. Abre tu package.json y confirma que react-router-dom aparece dentro de dependencies con la versión 6.
Si durante la instalación npm reportó vulnerabilidades, puedes correr npm audit o npm audit fix --force para revisar el package-lock.json y actualizar lo que sea necesario. No es bloqueante para avanzar, pero es buena higiene del proyecto.
Con el proyecto funcionando y la dependencia en su lugar, ya tienes la base lista para empezar a integrar los componentes del router. El siguiente paso es entender los tipos de routers que ofrece la librería: esos providers que cambian según el tipo de renderizado y navegación que quieras dar a tu aplicación.
¿Tuviste algún error distinto durante la instalación? Cuéntalo en los comentarios.
Fabio Erik Sosa Morinigo
Gilbert Ardila
David Prado
Andrés Esteban Rodríguez Jiménez
Mariano Gastón Paduani
Rubén Ernesto Aragón Gil
David Condori Quispe
Mariano Gastón Paduani
Augusto Gonzalez
Juan Castro
ProfesorSeba Cardoso
Harold Zurita Simon
Max Andy Diaz Neyra
Lurgia Yupa Arias
JOSE RANGEL
Juan Castro
ProfesorJOSE RANGEL
Juan Camilo Lentino Villalba
Jose Luis Bedoya
Roger David Alba Ortega
Juan Castro
ProfesorRoger David Alba Ortega
Gualberto Montiel
Juan Castro
ProfesorMarco Palacios Orihuela
Juan Castro
ProfesorJuan Diego Mejia Maestre
Paola Marcela Arguelles Salazar
Platzi
Daniel Morales
Enna Velasquez Botache
Charles Castillo Rosas
Olvídense de npx create-react-app. Con ViteJS con el comando npm create vite@latest name-project-here --template react lo instalan en 10 s, como maximo y con codigo mas limpio al empezar.
que viva vite!!!!
Que viva VITE!!
Instalación de React Router DOM 6
Si deseas consultar la documentación oficial de React Router puedes hacerlo en esta página, donde hay documentación detallada.
Instalación
Para esto en nuestra terminal vamos a crear un nuevo proyecto en React con tu método de preferencia, yo prefiero hacerlo con Vite.js
npm create vite@latest # Pasos name-proyect || ./ template react
Luego de esto, vamos a introducir el siguiente comando para instalar React Router DOM.
# Instalar React DOM versión actual npm install --save react-router-dom # Instalar React DOM 6 npm install --save react-router-dom@6
Luego como es Vite vamos a introducir el comando:
npm run dev
Luego abrimos el puerto indicado en el navegador y ya tendríamos nuestro proyecto listo para que empecemos.
Muchas gracias!
.
React Router React Router v6 GitHub React-Router
npm install react-router-dom@6
Gracias!
Like. Si tampoco sabes cual es el curso de npm para hacer npm audit fix --force
Cada version de react-router-dom tiene breaking changes. Aunque los conceptos son los mismos. Asegurate de usar las mismas versiones de la clase.
Instalación de React Router DOM 6
.
Vamos a instalar la versión de React Router DOM 6. Existen muchas versiones, Sin embargo utilizaremos la versión 6.
.
Creamos un proyecto de React con Create React App,
.
npx create-react-app nombre-de-tu-proyecto
.
Es importante notar que estamos utilizando React en su versión 18. Esto porque React Router DOM de la versión 5 hacia atrás no soporta React 18 por los cambios en la forma en el que creaba el root por lo que se debería utilizar React 17 para abajo en ese caso.
.
Instalamos React Router DOM y luego corremos la aplicación en el localhost:3000.
.
npm install --save react-router-dom@6
npm start
.
Podemos notar que React Router DOM se guarda en dependencies y no en devDependencies. Esto porque la vamos a necesitar incluso si desplegamos a producción.
Hola a todos, para un proyecto con React + Vite + React Router DOM + TypeScript ( sin miedo al éxito, papui)
Mi package.json queda de la siguiente form:
"dependencies": { "react": "^18.2.0", "react-dom": "^18.2.0", "react-router-dom": "^6.14.0" }, "devDependencies": { "@types/react": "^18.0.37", "@types/react-dom": "^18.0.11", "@types/react-router-dom": "^5.3.3", "@typescript-eslint/eslint-plugin": "^5.59.0", "@typescript-eslint/parser": "^5.59.0", "@vitejs/plugin-react": "^4.0.0", "eslint": "^8.38.0", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.3.4", "typescript": "^5.0.2", "vite": "^4.3.9" }
Habla mucho !!!
Hola Juan, una pregunta. ¿Por qué siguen sacando cursos nuevos de React usando CRA en vez de Vite, por ejemplo? . Creo que no hay razón alguna en la CRA tenga algo mejor que Vite para estas clases de miniproyectos educativos. abrazo!
CRA sigue siendo absolutamente importante para el desarrollo con React.js
Vite es una gran herramienta, taaaaan asei que aeun siendo super nueva tiene su propio curso: https://platzi.com/clases/3216-vitejs/50432-soporte-para-react/
Pero eso no quita que en la vida laboral de verdad se siga usando muchísimo CRA Next.js hace poquito lo superó por un tris Hay una ruta completa de cursos de Next.js
En la próxima versión de los cursos de React seguiremos usando muchas veces CRA, muchas otras Next y en muchas otras (cada vez más) Vite Pero es importante entender que, aunqu haya herramientas nuevas y sean super sexys, las de ants se siguen utilizando mucho y sigue siendo importante aprenderlas
Claro que sí, es comprensible. De igual, con CRA o Vite (o cualquier otro) podemos llevar a la par los cursos.
npm install react-router-dom@6.3.0
me encanta la conversación del profe mientras se instala react
Juan tengo una pregunta tengo una app con un icono de redes sociales como faceboox, instagram. estoy utilizando react router v6 con browser, utilizo el componente Link de react router la propiedad to y coloco la direccion o url de facebook, cuando le doy click antepone el link del home y luego la direccion que coloque en la propiedad to del componente link, eso tiene solucion para que no anteponga la ruta del home?
No uses los componentes de RR para links externos a la aplicación. En esos casos es mejor usar la etiqueta a directamente. :wink:
Gracias Juan que gran aporte
Lei algunos comentarios sobre usar vite, que hay al respecto?
Super recomendado: https://platzi.com/clases/3216-vitejs/50432-soporte-para-react/
Acabo de ver en la página de React Router una nueva versión 6.4 y unos nuevos conceptos como " client side Routing" , y no estoy seguro si esos nuevos conceptos como "createBrowserRouter" encajan en las SPA
La versión 6.4 trae integraciones MUY buenas con React Suspense que vamos a aprender a utilizar en el futuro Curso de React.js: Consumo de API REST y React Suspense
Todo lo que aprendimos con la versión 6.3 sigue siendo 100% compatible con la versión 6.4
📝 Notas del Curso: Instalación de React Router DOM 6
🚀 Introducción
¿Qué es? React Router DOM es una herramienta esencial para gestionar la navegación y estructurar la aplicación React en múltiples rutas y vistas.
Recomendación: Se recomienda instalar la versión 6 por su API robusta y estandarizada, que proporciona una base sólida para futuros trabajos o migraciones.
🛠️ Paso 1: Crear un Nuevo Proyecto con Create React App
Para empezar, necesitamos un proyecto base de React.
Abre tu terminal.
Utiliza uno de los siguientes comandos:
Para crear un nuevo directorio de proyecto:
npx create-react-app nombre-del-proyecto
Si ya estás en un repositorio y quieres crear el proyecto en la carpeta actual:
npx create-react-app ./
Este comando instalará las dependencias básicas y configurará la estructura del proyecto.
💡 Nota: Si encuentras errores, sigue las instrucciones del terminal o busca soluciones en foros.
📦 Paso 2: Instalar React Router DOM 6
Una vez que el proyecto base está listo, instalamos el router.
Asegúrate de estar en el directorio raíz de tu proyecto (usa cd nombre-del-proyecto si es necesario).
Ejecuta el siguiente comando para instalar la versión 6 específicamente:
npm install react-router-dom@6
🛡️ Paso 3: Manejo de Posibles Problemas de Instalación (Opcional)
Si NPM indica vulnerabilidades:
Utiliza npm audit para revisar las vulnerabilidades.
Utiliza npm audit fix --force para corregir posibles inconsistencias y asegurar que se usen versiones seguras.
▶️ Paso 4: Iniciar el Servidor de Desarrollo
Verifica que todo funcione iniciando la aplicación.
Ejecuta el comando:
npm start
Esto abrirá la aplicación en tu navegador predeterminado (normalmente en localhost:3000).
✅ Consideración Clave: Compatibilidad entre Versiones
Es fundamental verificar que todas las dependencias (como React y React Router DOM) sean compatibles entre sí para evitar problemas.
Ejemplo: React Router DOM 5 podría no ser compatible con React 18.
💡 Conclusión
Con estos pasos, tienes React Router DOM 6 instalado y listo para comenzar a trabajar con rutas y componentes, lo que te permitirá estructurar mejor tu aplicación React. ¡Anímate a explorar y experimentar!
Hola ¡ No se si me falte algun proceso pero llegue hasta el paso final del servidor y revisando el package.json me aparece todo menos "react-router-dom": " ^6.3.0 ",
Es posible que hayas instalado una versión diferente de React Router DOM. Verifica la versión instalada en tu package.json y asegúrate de tener la versión 6.3.0 o superior.
npx create-react-app name-project or ./ npm i --save react-router-dom@6
Vengo del futuro REACT ROUTER DOM V6.4
(Mis apuntes de Notion💚)[]