Volver a los apuntes
Configurar React Router con lazy loading
Configurar un enrutamiento en una aplicación React utilizando react-router-dom con lazy loading para cargar las páginas de forma dinámica.
Instalación de React Router
Para javascript
npm install react-router-dom Para typescript
npm install react-router-dom @types/react-router-dom Definición de las Rutas
Se define un array de objetos, donde cada objeto contiene dos propiedade. se usa la función lazy de React para hacer carga diferida (lazy loading) de los componentes de la página. En lugar de cargar los componentes de forma inmediata cuando la aplicación se inicia, se cargan solo cuando se navega a la ruta correspondiente.
Code
const dataRoutes = [
{
path: "/",
element: lazy(() => import("./page/Home")),
},
{
path: "/about",
element: lazy(() => import("./page/About")),
},
]; Configuración de Enrutamiento
App.tsx
<BrowserRouter>
<Suspense fallback={<div>Loading...</div>}>
<Routes>
{dataRoutes.map((route) => (
<Route
key={route.path}
path={route.path}
Component={route.element}
/>
))}
</Routes>
</Suspense>
</BrowserRouter> - <BrowserRouter>: Configura el enrutador para manejar la navegación en la aplicación.
- <Suspense>: Utiliza carga diferida para los componentes, mostrando un indicador de carga mientras los componentes no se han cargado.
- <Routes>: Contenedor de todas las rutas.
- <Route>: Mapea las rutas de la aplicación, especificando qué componente se renderiza para cada ruta.