Ahora vamos a explorar un tema crucial en el desarrollo de aplicaciones web con React: la navegación. Para eso, utilizaremos React Router, una biblioteca poderosa y flexible para manejar rutas en tus aplicaciones React. Piensa en React Router como el sistema de navegación GPS para tu aplicación: te ayuda a viajar entre vistas o «páginas» sin perder el camino.
React Router es una librería que te permite manejar rutas de manera declarativa en tu aplicación React. Con React Router, puedes configurar rutas que correspondan a diferentes componentes, permitiendo que la aplicación se comporte como una web de múltiples páginas sin necesidad de recargar la página completa.
Para comenzar con React Router, primero necesitas instalarlo en tu proyecto:
npm install react-router-dom
Luego, puedes configurar tus rutas básicas. Aquí hay un ejemplo simple de cómo configurar React Router en una aplicación:
import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter as Router, Route, Switch, Link } from 'react-router-dom';
import Home from './Home';
import About from './About';
import Contact from './Contact';
function App() {
return (
{/* A looks through its children s and
renders the first one that matches the current URL. */}
);
}
ReactDOM.render( , document.getElementById('root'));
<a>
), permitiéndote navegar entre tus componentes sin recargar la página. Utiliza to
para especificar la ruta.<Route>
que coincide con la ubicación actual.A menudo, necesitarás enviar información a través de la ruta, como un ID de usuario. React Router permite manejar esto fácilmente a través de parámetros de ruta.
En tu componente User
, puedes acceder a este parámetro usando useParams
de React Router:
import { useParams } from 'react-router-dom';
function User() {
let { id } = useParams(); // Captura el parámetro id de la ruta
return User ID: {id}
;
}
Esta funcionalidad es como un mapa del tesoro que te guía a través de diferentes caminos y destinos según las pistas (parámetros) que se te proporcionen. Imagina que estás construyendo una aplicación donde cada usuario tiene su propia página o necesitas mostrar detalles específicos de un producto. Los parámetros dinámicos hacen esto posible y sencillo.
Las rutas dinámicas son aquellas en las que parte de la URL puede cambiar según el contexto. Por ejemplo, en una URL como /user/john
, «john» es un parámetro que puede variar para mostrar la página de diferentes usuarios. React Router permite manejar estas rutas dinámicamente, pasando estos parámetros como parte de la URL.
Primero, asegúrate de tener React Router instalado y configurado. Aquí te muestro cómo puedes configurar una ruta dinámica:
import React from 'react';
import { BrowserRouter as Router, Route, Link, Switch } from 'react-router-dom';
const UserProfile = ({ match }) => (
User: {match.params.username}
);
function App() {
return (
);
}
export default App;
username
en la URL cambia.path
contiene el parámetro :username
, que es una variable. Cualquier cosa que pongas en esa parte de la URL se pasará al componente UserProfile
como parte de match.params
.useParams
para Acceder a ParámetrosA partir de React Router v5.1, puedes hacer uso del Hook useParams
para obtener parámetros de ruta de manera más sencilla y directa:
import React from 'react';
import { useParams } from 'react-router-dom';
function UserProfile() {
const { username } = useParams();
return User: {username}
;
}
/product/12345
./search?keyword=React
.