Lazy Loading ist eine Technik in React, die es Ihnen ermöglicht, Komponenten nur dann zu laden, wenn sie benötigt werden. Dies trägt dazu bei, die Leistung Ihrer Anwendung zu verbessern, indem die anfängliche Ladezeit verkürzt wird, da zunächst nur die erforderlichen Teile der App geladen werden und der Rest bei Bedarf dynamisch geladen wird.
React bietet die Funktion React.lazy und die Komponente Suspense, um Lazy Loading zu implementieren.
const LazyComponent = React.lazy(() => import('./path/to/Component')); function App() { return ( <React.Suspense fallback={<div>Loading...</div>}> <LazyComponent /> </React.Suspense> ); }
import React from "react"; import HeavyComponent from "./HeavyComponent"; function App() { return ( <div> <h1>App Component</h1> <HeavyComponent /> </div> ); } export default App;
In diesem Beispiel wird die HeavyComponent immer geladen, auch wenn sie nicht sofort benötigt wird, wodurch sich die anfängliche Ladezeit verlängert.
import React, { Suspense } from "react"; const HeavyComponent = React.lazy(() => import("./HeavyComponent")); function App() { return ( <div> <h1>App Component</h1> <Suspense fallback={<div>Loading Heavy Component...</div>}> <HeavyComponent /> </Suspense> </div> ); } export default App;
HeavyComponent wird jetzt nur geladen, wenn es gerendert wird. Die Fallback-Benutzeroberfläche (z. B. „Schwere Komponente wird geladen...“) wird angezeigt, während die Komponente abgerufen wird.
Lazy Loading ist besonders nützlich beim Routing, um Komponenten für bestimmte Routen nur dann zu laden, wenn auf diese Routen zugegriffen wird.
import React, { Suspense } from "react"; import { BrowserRouter as Router, Routes, Route } from "react-router-dom"; const Home = React.lazy(() => import("./Home")); const About = React.lazy(() => import("./About")); const Contact = React.lazy(() => import("./Contact")); function App() { return ( <Router> <Suspense fallback={<div>Loading Page...</div>}> <Routes> <Route path="/" element={<Home />} /> <Route path="/about" element={<About />} /> <Route path="/contact" element={<Contact />} /> </Routes> </Suspense> </Router> ); } export default App;
Sie können mehrere Komponenten verzögert laden und mit bedingtem Rendering kombinieren.
const LazyComponent = React.lazy(() => import('./path/to/Component')); function App() { return ( <React.Suspense fallback={<div>Loading...</div>}> <LazyComponent /> </React.Suspense> ); }
Wenn das Laden der verzögert geladenen Komponente fehlschlägt (z. B. aufgrund eines Netzwerkfehlers), bietet React keine integrierte Fehlerbehandlung für verzögertes Laden. Sie können ErrorBoundary verwenden, um solche Szenarien zu behandeln.
import React from "react"; import HeavyComponent from "./HeavyComponent"; function App() { return ( <div> <h1>App Component</h1> <HeavyComponent /> </div> ); } export default App;
Lazy Loading in React ist eine leistungsstarke Möglichkeit, die Anwendungsleistung zu verbessern und das Benutzererlebnis zu optimieren. Durch das dynamische Laden von Komponenten mithilfe von React.lazy und Suspense können Sie die anfängliche Ladezeit verkürzen und sicherstellen, dass nur die erforderlichen Teile Ihrer Anwendung abgerufen werden.
Das obige ist der detaillierte Inhalt vonVerbessern Sie die Leistung der React-App mit Lazy Loading-Komponenten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!