Documentos de Académico
Documentos de Profesional
Documentos de Cultura
La mayoría de los sitios que visitamos todos los días tienen navegación
entre páginas, URLs específicas que muestran determinados contenidos
y un historial de navegación en donde el browser nos permite retroceder
o avanzar.
React logra todo esto con ayuda de la librería React Router
React Router - Componentes
React router tiene 3 paquetes, nosotros usaremos solamente uno llamado
react-router-dom, con el cual podremos crear rutas, manipular el historial y
crear rutas anidadas.
Hay 3 componentes esenciales:
1. <BrowserRouter/> → Conecta nuestra aplicación a la URL del
navegador
2. <Routes/> → Genera un árbol de rutas y a partir de este nos permite
reemplazar la vista con el componente que coincide con la URL de nuestra
barra de navegación y nos va a renderizar solamente dicho componente.
3. <Route/> → Representa una ruta en el árbol, necesita al menos las
siguientes propiedades path y element, para representar una ruta.
React Router - Instalación
Luego de crear nuestra aplicación en react con el comando
Dentro de nuestro Router podemos generar todas las rutas que queramos solo
necesitamos hacer uso del componente Route agregarle al menos dos
propiedades path y element, de esta manera si el path coincide con la URL del
navegador renderizará el valor de element.
React Router - Link
React Router nos proporciona el componente Link que recibe en su propiedad to el path de la
ruta a la cual nos queremos dirigir dentro de nuestra aplicación.
Es importante hacer uso del componente Link, ya que además de permitirnos crear los enlaces
de navegación este no recarga nuestra aplicación
import { Link } from "react-router-dom" ;
De esta forma cuando estemos posicionados en la ruta “/” Outlet tomará el valor
del element de la ruta index para renderizarlo en el componente padre.
React Router - 404
Cuando se ingresa a una URL desconocida lo que sucede es que no se renderiza
nada, ya que no existe ninguna ruta correspondiente. Podemos configurar una
ruta global que se muestre en caso de no haber coincidencias de la siguiente
manera:
<BrowserRouter>
<Routes>
<Route path="/" element={<Layout />}>
<Route index element={<Home />}></Route>
<Route path="/quienes-somos" element={<Nosotros/>}></Route>
<Route path="/contacto" element={<Contacto />}></Route>
<Route path="*" element={<h1>404</h1>}></Route>
</Route>
</Routes>
</BrowserRouter>
React Router - Parámetros
Tener un parámetro dinámico en nuestra URL significa que este puede coincidir
con cualquier valor en dicho segmento.
Ese componente, necesitará saber el valor del parámetro personaId para luego
buscar en un listado de personas, o llamar a una api con ese valor, o hacer
alguna otra cosa para la cuál necesite ese dato.