Entrada

React Router: Guía práctica para navegar entre páginas en React 🚀

React Router: cómo moverte entre páginas sin perderte 🧭

React Router es una de esas herramientas que no sabes cuánto la necesitas hasta que la usas. Si tu aplicación tiene más de una vista, ya es hora de añadirla.

Chequeado y aprobado

🚀 Instalación

Instalar React Router es muy sencillo. Desde tu proyecto React, abre la terminal y ejecuta:

1
npm install react-router-dom

O, si usas Yarn:

1
yarn add react-router-dom

💡 Consejo: asegúrate de tener React 18 o superior, ya que React Router 6 se apoya en sus nuevas APIs.


🧩 Configuración básica

Imagina que tienes dos páginas: Home y About. Tu estructura podría ser así:

1
2
3
4
src/
 ├── App.jsx
 ├── Home.jsx
 └── About.jsx

En tu archivo App.jsx, configura las rutas de esta forma:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import { BrowserRouter as Router, Routes, Route, Link } from "react-router-dom";
import Home from "./Home";
import About from "./About";

function App() {
  return (
    <Router>
      <nav>
        <Link to="/">Inicio</Link> | <Link to="/about">Acerca de</Link>
      </nav>

      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="/about" element={<About />} />
      </Routes>
    </Router>
  );
}

export default App;

🎯 Con esto, ya puedes navegar entre las páginas sin recargar la aplicación.


🔗 Pasar valores por URL (parámetros dinámicos)

Supongamos que quieres mostrar el perfil de un usuario según su ID. Puedes definir una ruta dinámica así:

1
<Route path="/usuario/:id" element={<Usuario />} />

Y acceder a ella desde un enlace:

1
<Link to="/usuario/42">Ver perfil del usuario 42</Link>

En la página Usuario.jsx, puedes leer el valor con el hook useParams:

1
2
3
4
5
6
7
8
9
import { useParams } from "react-router-dom";

function Usuario() {
  const { id } = useParams();

  return <h2>Mostrando perfil del usuario con ID: {id}</h2>;
}

export default Usuario;
Routing dinámico en acción

🧠 Ejemplo práctico completo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import { BrowserRouter, Routes, Route, Link, useParams } from "react-router-dom";

function Home() {
  return (
    <div>
      <h2>Página de inicio 🏠</h2>
      <Link to="/usuario/7">Ir al usuario 7</Link>
    </div>
  );
}

function Usuario() {
  const { id } = useParams();
  return <h3>Perfil del usuario: {id}</h3>;
}

export default function App() {
  return (
    <BrowserRouter>
      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="/usuario/:id" element={<Usuario />} />
      </Routes>
    </BrowserRouter>
  );
}

✅ Simple, limpio y 100% funcional.


⚙️ Ventajas de usar React Router

  • Navegación sin recargar la página (Single Page Application).
  • Soporte para rutas dinámicas y anidadas.
  • Control completo sobre la URL.
  • Integración con hooks como useNavigate, useParams o useLocation.
  • Facilita la gestión de layouts y componentes compartidos.
Smooth navigation

Si quieres saber más sobre React Router pásate por su página oficial https://reactrouter.com/


❓ FAQ

¿Qué es React Router?

React Router es una librería que permite manejar la navegación y las rutas en aplicaciones React, sin recargar la página completa.

¿Cómo se instala React Router?

Se instala fácilmente con el comando npm install react-router-dom, o yarn add react-router-dom si usas Yarn.

¿Puedo pasar valores por URL con React Router?

Sí, puedes pasar parámetros en la URL (por ejemplo /usuario/123) y leerlos con el hook useParams.

¿React Router funciona en Vite o Next.js?

Funciona perfectamente en proyectos creados con Vite o Create React App, pero en Next.js no se usa porque ya tiene su propio sistema de enrutamiento.

Esta entrada está licenciada bajo CC BY 4.0 por el autor.