Lazy Loading est une technique dans React qui vous permet de charger des composants uniquement lorsqu'ils sont nécessaires. Cela contribue à améliorer les performances de votre application en réduisant le temps de chargement initial, car seules les parties requises de l'application sont chargées au début, et le reste est chargé dynamiquement si nécessaire.
React fournit la fonction React.lazy et le composant Suspense pour implémenter le chargement paresseux.
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;
Dans cet exemple, le HeavyComponent est toujours chargé, même s'il n'est pas immédiatement nécessaire, ce qui augmente le temps de chargement initial.
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;
Désormais, HeavyComponent est chargé uniquement lors du rendu. L'interface utilisateur de secours (par exemple, "Chargement du composant lourd...") s'affiche pendant la récupération du composant.
Le chargement différé est particulièrement utile dans le routage pour charger des composants pour des routes spécifiques uniquement lorsque ces routes sont accessibles.
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;
Vous pouvez charger plusieurs composants paresseusement et les combiner avec un rendu conditionnel.
const LazyComponent = React.lazy(() => import('./path/to/Component')); function App() { return ( <React.Suspense fallback={<div>Loading...</div>}> <LazyComponent /> </React.Suspense> ); }
Si le composant chargé paresseux ne parvient pas à se charger (par exemple, une erreur réseau), React ne fournit pas de gestion intégrée des erreurs pour le chargement paresseux. Vous pouvez utiliser ErrorBoundary pour gérer de tels scénarios.
import React from "react"; import HeavyComponent from "./HeavyComponent"; function App() { return ( <div> <h1>App Component</h1> <HeavyComponent /> </div> ); } export default App;
Le chargement différé dans React est un moyen puissant d'améliorer les performances des applications et d'optimiser l'expérience utilisateur. En chargeant les composants de manière dynamique à l'aide de React.lazy et Suspense, vous pouvez réduire le temps de chargement initial et vous assurer que seules les parties nécessaires de votre application sont récupérées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!