Maison  >  Article  >  interface Web  >  Chargement paresseux de React.js : EXPLIQUÉ

Chargement paresseux de React.js : EXPLIQUÉ

DDD
DDDoriginal
2024-09-14 14:30:03951parcourir

Un guide complet avec une aide-mémoire et un exemple

Brève introduction

Le chargement différé est une technique d'optimisation des performances efficace dans le développement Web, en particulier avec des bibliothèques et des frameworks comme React. Cela implique de charger des composants ou des ressources uniquement lorsque cela est nécessaire, soit en réponse à une action de l'utilisateur, soit lorsque des éléments sont sur le point d'être affichés à l'écran. Cela peut réduire le temps de chargement initial de l'application, diminuer la consommation de ressources et améliorer l'expérience utilisateur, en particulier sur les appareils aux performances limitées ou aux connexions Internet lentes.


Comment fonctionne le chargement paresseux dans React

React implémente le chargement paresseux principalement via la fonction React.lazy. Il est souvent utilisé en combinaison avec React.Suspense, qui gère l'état de chargement et l'interface utilisateur de secours. Vous trouverez ci-dessous les étapes clés pour comprendre comment implémenter le chargement paresseux dans une application React.


React.js Lazy Loading: EXPLAINED
1. Importation dynamique avec React.lazy

React.lazy permet l'importation dynamique de composants uniquement lorsque cela est nécessaire. Le résultat est une promesse qui se résout en un module contenant un composant React par défaut.

const DelayedComponent = React.lazy(() => import('./DelayedComponent'));

Dans cet exemple, DelayedComponent est chargé uniquement lorsque React tente de le restituer pour la première fois.


2. Emballage avec React.Suspense

Pour gérer l'état de chargement, React.Suspense est utilisé pour envelopper les composants chargés paresseusement. Cela vous permet d'afficher du contenu de secours (par exemple, une icône de chargement) pendant le chargement du composant.

import React, { Suspense } from 'react';

function App() {
  return (
    <div>
      <Suspense fallback={<div>Loading content...</div>}>
        <DelayedComponent />
      </Suspense>
    </div>
  );
}

Dans l'extrait ci-dessus, attend que DelayedComponent se charge avant de l'afficher. Si le chargement prend du temps, l'utilisateur verra "Chargement du contenu...".


3. Gestion des erreurs

Avec le chargement paresseux, la gestion des erreurs est essentielle en cas de panne (par exemple, une panne de réseau). Vous pouvez afficher un message d'erreur ou un composant de secours si quelque chose ne va pas pendant le processus de chargement.


4. Intégration avec Routage

Le chargement différé est particulièrement utile dans le contexte du routage, où différents écrans ou composants sont chargés en fonction de l'URL. Avec des routeurs comme React Router, vous pouvez utiliser React.lazy pour charger dynamiquement des composants pour chaque itinéraire.

import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
import React, { Suspense } from 'react';

const HomeView = React.lazy(() => import('./HomeView'));
const AboutView = React.lazy(() => import('./AboutView'));

function App() {
  return (
    <Router>
      <Suspense fallback={<div>Loading views...</div>}>
        <Switch>
          <Route path="/about" component={AboutView} />
          <Route path="/" component={HomeView} />
        </Switch>
      </Suspense>
    </Router>
  );
}

Dans ce cas, HomeView et AboutView ne sont chargés que lors de l'accès à leurs itinéraires respectifs.


Pourquoi le chargement différé est-il utile ?

  • Chargement initial plus rapide : en chargeant uniquement les parties essentielles de votre application dans un premier temps, le temps de chargement initial est réduit.
  • Utilisation réduite des ressources : le chargement différé permet d'économiser la bande passante et les ressources système en chargeant les composants uniquement lorsqu'ils sont nécessaires.
  • Expérience utilisateur améliorée : les utilisateurs obtiennent une réponse plus rapide puisqu'ils n'ont pas à attendre que tout se charge avant d'interagir avec l'application.

Problèmes de chargement paresseux résolus

  • Temps de chargement initiaux lents : lorsqu'une application comporte de nombreux composants ou des bibliothèques lourdes, le chargement paresseux divise le code et ne charge que ce qui est nécessaire à ce moment-là.
  • Consommation de ressources inutiles : différer le chargement des parties non critiques de l'application améliore les performances et économise les ressources.

Chargement paresseux et fractionnement de code

Le chargement paresseux dans React fonctionne souvent de pair avec le fractionnement de code, où l'application est divisée en bundles plus petits. Les bundles JavaScript modernes comme Webpack peuvent gérer automatiquement cette division. La combinaison du fractionnement du code et du chargement paresseux garantit que seul le code nécessaire pour la vue actuelle est fourni, optimisant ainsi les performances.


Conclusion

Le chargement paresseux et le fractionnement de code sont des outils puissants pour améliorer les performances Web, ce qui les rend essentiels pour créer des applications rapides et réactives. En différant le chargement des ressources non essentielles et en les traitant uniquement en cas de besoin, vous pouvez améliorer considérablement l'expérience utilisateur et la gestion des ressources dans vos projets React.


Ce blog a été organisé avec l'aide d'outils d'IA pour garantir la clarté, la cohérence et le respect des directives de contenu.

Citations :

React, "Chargement paresseux", https://react.dev/learn

Si vous avez trouvé ce contenu utile et que vous souhaitez me soutenir, vous pouvez m'offrir un café

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn