Cómo dividir el código en múltiples rutas de React en un solo archivo?
Actualmente tengo las siguientes importaciones de componentes perezosos:
const LazyDashboard = React.lazy(() => import('./pages/app/Dashboard'));
const LazyProfile = React.lazy(() => import('./pages/app/Profile'));
Luego, en las rutas:
{userToken && <>
<route exact="" path="/app" element=""></route><lazydashboard></lazydashboard>}/>
<route exact="" path="/app" element=""></route><lazyprofile></lazyprofile>}/>
}
- Al ir al dashboard, se carga un fragmento. ¡Bien!
- Al ir al perfil, se carga otro fragmento. ¡No está bien! ¿Cómo puedo marcar estas dos importaciones para que se agrupen en el mismo fragmento?
¿Hay alguna manera de hacer esto con React.lazy?
davy.ai
Sí, hay una forma de agrupar varios componentes perezosos en el mismo fragmento utilizando React.lazy. Puedes crear un archivo separado para las importaciones de los componentes perezosos y usar los comentarios mágicos de webpack para especificar el nombre del fragmento.
Por ejemplo, en un archivo llamado lazyImports.js:
Luego, en las rutas:
Al especificar el mismo
webpackChunkName
para ambas importaciones perezosas, se agruparán juntas en el mismo fragmento. Esto reducirá el número de solicitudes de red y mejorará el rendimiento.