Résolu : réagir au chargement paresseux du routeur

Le principal problème lié au chargement paresseux de React Router est qu'il peut entraîner des problèmes de performances s'il n'est pas implémenté correctement. Le chargement différé peut augmenter le temps de chargement initial de la page, car le code de chaque composant doit être chargé séparément. De plus, si un composant n'est pas utilisé souvent, il peut ne jamais être chargé du tout, ce qui entraîne un gaspillage de ressources. Enfin, il existe des problèmes de compatibilité potentiels avec les anciens navigateurs qui ne prennent pas en charge le chargement différé.

import React, { Suspense } from 'react';
import { BrowserRouter as Router, Route, Switch } 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...</div>}>

        <Switch>  

          <Route exact path="/" component={Home} />  

          <Route path="/about" component={About} />  

          <Route path="/contact" component={Contact} />  

        </Switch>  

      </Suspense> 

    </Router>  ); } export default App;

1. importez React, { Suspense } de 'react' ;
// Cette ligne importe la bibliothèque React et le composant Suspense de la bibliothèque React.

2. importez { BrowserRouter as Router, Route, Switch } from 'react-router-dom' ;
// Cette ligne importe les composants BrowserRouter, Route et Switch de la bibliothèque react-router-dom.

3. const Home = React.lazy(() => import('./Home'));
// Cette ligne crée une constante appelée Home qui utilise la fonctionnalité de chargement paresseux de React pour importer dynamiquement un composant appelé Home à partir d'un fichier dans le même répertoire que ce fichier (le composant App).

4. const About = React.lazy(() => import('./About'));
// Cette ligne crée une constante appelée About qui utilise le chargement différé pour importer dynamiquement un composant appelé About à partir d'un fichier dans le même répertoire que ce fichier (le composant App).
const Contact = React.lazy(() => import('./Contact')); // Cette ligne crée une constante appelée Contact qui utilise le chargement différé pour importer dynamiquement un composant appelé Contact à partir d'un fichier dans le même répertoire que ce fichier (le composant App).

5. fonction App() { retour ( // Il s'agit d'une fonction fléchée qui renvoie le code JSX enveloppé dans la balise Router importée plus tôt

6.Chargement en cours ...

}> //Cette balise Suspense enveloppe toutes nos routes avec des accessoires de secours de Chargement… si une route prend du temps à se charger

7. //Switch tag s'assurera qu'un seul itinéraire est rendu à la fois

8. //Cette route rendra le composant d'accueil lorsque le chemin exact "/" correspond

9. //Cette route affichera le composant "About" lorsque le chemin "/about" correspondra

10. //Cette route rendra le composant de contact lorsque le chemin "/contact" correspond ) } export default App ; //Enfin, nous fermons toutes les balises et exportons notre application

Problème de chargement paresseux

Le chargement différé est une technique utilisée pour retarder le chargement de certains composants jusqu'à ce qu'ils soient nécessaires. Cela peut aider à améliorer les performances d'une application en ne chargeant que ce qui est nécessaire à un moment donné. Cependant, cela peut être un problème lors de l'utilisation de React Router, car il ne prend pas en charge le chargement paresseux prêt à l'emploi. Pour contourner ce problème, les développeurs doivent configurer manuellement leurs itinéraires pour activer le chargement différé. Cela peut impliquer la mise en place d'importations dynamiques et de fractionnement de code, qui peuvent être des tâches complexes et chronophages. De plus, certaines bibliothèques telles que React Loadable peuvent devoir être utilisées pour implémenter correctement le chargement paresseux avec React Router.

Qu'est-ce que la charge paresseuse React

React Lazy Load est une fonctionnalité de React Router qui permet le chargement de composants à la demande. Cela signifie qu'au lieu de charger tous les composants en même temps, seuls les composants nécessaires sont chargés en cas de besoin. Cela permet de réduire le temps de chargement initial de la page et d'améliorer les performances. Cela permet également une meilleure organisation du code et une séparation des préoccupations, car chaque composant peut être chargé indépendamment.

Comment utiliser React paresseux sur mon routeur

React paresseux est une fonctionnalité de React qui vous permet d'importer dynamiquement des composants. Cela signifie qu'au lieu de charger tous les composants à l'avance, vous pouvez les charger selon vos besoins. Cela peut être utile pour optimiser les performances dans les grandes applications.

Pour utiliser React paresseux sur votre routeur dans React Router, vous devez encapsuler le composant que vous souhaitez charger paresseux dans un appel d'importation dynamique. Par example:

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

Ensuite, lors de la définition de vos routes, passez simplement le composant MyComponent dans le composant Route comme ceci :

Cela amènera React Router à charger dynamiquement le composant MyComponent lors de la navigation vers cette route.

Articles connexes

Laisser un commentaire