0 Tage Serie
javascript / beginner
Snippet

Code-Splitting von Komponenten mit React.lazy und Suspense

React.lazy ermöglicht das dynamische, asynchrone Laden von Komponenten-Bundles bei Bedarf. Durch das Umschließen mit Suspense kann ein Fallback-Platzhalter definiert werden, was die anfängliche Bundle-Größe reduziert und die Ladeleistung der Webseite verbessert.

snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import React, { Suspense, lazy } from 'react';
const AnalyticsDashboard = lazy(() => import('./AnalyticsDashboard'));
function App() {
return (
<div>
<h1>Admin Area</h1>
<Suspense fallback={<p>Loading dashboard bundle...</p>}>
<AnalyticsDashboard />
</Suspense>
</div>
);
}
react
Erklärung
1
const AnalyticsDashboard = lazy(() => import('./AnalyticsDashboard'));
Importiert den Komponenten-Chunk dynamisch und asynchron, sobald er erstmals benötigt wird.
2
<Suspense fallback={<p>Loading dashboard bundle...</p>}>
Gibt ein temporäres Fallback-JSX-Element an, das während des Downloads des Bundles angezeigt wird.
3
<AnalyticsDashboard />
Rendert die verzögert geladene Komponente, sobald das Modul vollständig heruntergeladen ist.