React Router
La aplicación Create React no incluye el enrutamiento de páginas.
React Router es la solución más popular.
Agregar enrutador reaccionar
Para agregar React Router en su aplicación, ejecute esto en la terminal desde el directorio raíz de la aplicación:npm i -D react-router-dom
Nota: Este tutorial utiliza React Router v6.Si está actualizando desde la versión 5, deberá utilizar la marca @latest:
npm i -D react-router-dom@latest
Estructura de carpetas
Para crear una aplicación con múltiples rutas de páginas, primero comencemos con la estructura del archivo.
Dentro de la srccarpeta, crearemos una carpeta nombrada pagescon varios archivos:
src\pages\:
Layout.jsHome.jsBlogs.jsContact.jsNoPage.js
Uso básico
Ahora usaremos nuestro enrutador en nuestro index.jsarchivo.
Utilice React Router para enrutar a páginas según la URL:
import ReactDOM from "react-dom/client";
import { BrowserRouter, Routes, Route } from "react-router-dom";
import Layout from "./pages/Layout";
import Home from "./pages/Home";
import Blogs from "./pages/Blogs";
import Contact from "./pages/Contact";
import NoPage from "./pages/NoPage";
export default function App() {
return (
<BrowserRouter>
<Routes>
<Route path="/" element={<Layout />}>
<Route index element={<Home />} />
<Route path="blogs" element={<Blogs />} />
<Route path="contact" element={<Contact />} />
<Route path="*" element={<NoPage />} />
</Route>
</Routes>
</BrowserRouter>
);
}
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<App />);
Ejemplo explicado
Primero envolvemos nuestro contenido con <BrowserRouter>.
Luego definimos nuestro <Routes>. Una aplicación puede tener múltiples <Routes>. Nuestro ejemplo básico solo usa uno.
<Route>s se pueden anidar. El primero <Route>tiene una ruta / y representa el Layoutcomponente.
Los s anidados <Route>heredan y agregan a la ruta principal. Entonces la blogsruta se combina con la ruta principal y se convierte en /blogs.
La Homeruta del componente no tiene una ruta pero tiene un indexatributo. Eso especifica esta ruta como la ruta predeterminada para la ruta principal, que es /.
Configurar el patha *actuará como un comodín para cualquier URL no definida. Esto es genial para una página de error 404.
Páginas / Componentes
El Layoutcomponente tiene <Outlet>y <Link>elementos.
Representa <Outlet>la ruta actual seleccionada.
<Link>se utiliza para configurar la URL y realizar un seguimiento del historial de navegación.
Cada vez que nos vinculemos a una ruta interna, usaremos <Link> en lugar de <a href="">.
La "ruta de diseño" es un componente compartido que inserta contenido común en todas las páginas, como un menú de navegación.
Layout.js:
import { Outlet, Link } from "react-router-dom";
const Layout = () => {
return (
<>
<nav>
<ul>
<li>
<Link to="/">Home</Link>
</li>
<li>
<Link to="/blogs">Blogs</Link>
</li>
<li>
<Link to="/contact">Contact</Link>
</li>
</ul>
</nav>
<Outlet />
</>
)
};
export default Layout;
Home.js:
const Home = () => {
return <h1>Home</h1>;
};
export default Home;
Blogs.js:
const Blogs = () => {
return <h1>Blog Articles</h1>;
};
export default Blogs;
Contact.js:
const Contact = () => {
return <h1>Contact Me</h1>;
};
export default Contact;
NoPage.js:
const NoPage = () => {
return <h1>404</h1>;
};
export default NoPage;
Comentarios
Publicar un comentario