0 Tage Serie
javascript / intermediate
Snippet

Code-Splitting mit React.lazy und Suspense

React.lazy ermöglicht es, eine Komponente zu definieren, die dynamisch geladen wird. Dies hilft, die initiale Bundle-Größe zu reduzieren, indem das Laden von Code verzögert wird, der nicht sofort benötigt wird. Suspense bietet einen Ladezustand, während auf das Laden der Komponente gewartet wird.

snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
import { lazy, Suspense } from 'react';
const HeavyComponent = lazy(() => import('./HeavyComponent'));
function App() {
return (
<Suspense fallback={<div>Loading...</div>}>
<HeavyComponent />
</Suspense>
);
}
react
Erklärung
1
lazy(() => import('./HeavyComponent'))
Verwendet dynamisches import(), um die Komponentendatei erst abzurufen, wenn sie gerendert wird.
2
<Suspense fallback={...}>
Gibt die UI an, die angezeigt werden soll, während die per Lazy-Loading geladene Komponente abgerufen wird.