router-layout
v1.2.1
Published
`RouterLayout` es una biblioteca de React que proporciona una forma sencilla y eficiente de manejar rutas en aplicaciones React utilizando `react-router-dom`. Esta biblioteca permite la carga diferida de componentes y la gestión de layouts, lo que mejora
Readme
RouterLayout
RouterLayout es una biblioteca de React que proporciona una forma sencilla y eficiente de manejar rutas en aplicaciones React utilizando react-router-dom. Esta biblioteca permite la carga diferida de componentes y la gestión de layouts, lo que mejora la experiencia del usuario al navegar por la aplicación.
Características
- Carga diferida: Utiliza
React.Suspensepara cargar componentes de forma asíncrona. - Configuración sencilla: Define tus rutas y layouts de manera clara y concisa.
- Manejo de errores: Proporciona un elemento de error predeterminado para manejar fallos en la carga de componentes.
Instalación
Para instalar RouterLayout, usa npm o yarn:
npm install router-layout
Uso
A continuación se muestra un ejemplo básico de cómo utilizar RouterLayout en tu aplicación React:
import React, { lazy } from 'react';
import { RouterLayout } from 'router-layout';
interface RouteConfig {
path: string;
component: React.LazyExoticComponent<React.ComponentType<any>> | any;
}
const Home = lazy(() => import('@/pages/Home'));
const About = lazy(() => import('@/pages/About'));
const Contact = lazy(() => import('@/pages/Contact'));
const routes: RouteConfig[] = [
{ path: '/', component: Home },
{ path: '/about', component: About },
{ path: '/contact', component: Contact },
];
const SimpleLayout = ({ children }: { children: React.ReactNode }) => (
<div>
<header>
<nav>
{/* Links a las rutas */}
</nav>
</header>
<main>{children}</main>
<footer>
{/* Footer */}
</footer>
</div>
);
const App = () => (
<RouterLayout
routes={routes}
layout={SimpleLayout}
fallback={<div>Loading...</div>}
/>
);
export default App;Propiedades
routes: Un array de objetos que define las rutas. Cada objeto debe contener:path: La ruta correspondiente.component: El componente que se cargará para esa ruta.
layout: (Opcional) Un componente que se usará como layout para las rutas. Si no se proporciona, se renderizará sin un layout.fallback: (Opcional) Un componente que se mostrará mientras se cargan los componentes.
