


Fractionnement de code avec React.lazy : améliorez les performances de votre application
Fractionnement de code avec React.lazy dans React
LeCode Splitting est une technique permettant d'optimiser les performances des applications React en décomposant le bundle JavaScript en morceaux plus petits. React fournit React.lazy comme moyen intégré d'implémenter le fractionnement du code au niveau des composants. Cela vous permet de charger dynamiquement des parties de votre application selon vos besoins.
Comment fonctionne le fractionnement de code avec React.lazy
- Importation dynamique : utilise ES6 import() pour charger les composants de manière dynamique.
- Packs plus petits : décompose l'application en bundles plus petits, réduisant ainsi le temps de chargement initial.
- Chargement asynchrone : charge les composants de manière asynchrone uniquement lorsque cela est nécessaire.
Syntaxe
const LazyComponent = React.lazy(() => import('./LazyComponent')); function App() { return ( <react.suspense fallback="{<div">Loading...}> <lazycomponent></lazycomponent> </react.suspense> ); }
- React.lazy : importe dynamiquement le composant spécifié.
- Suspense : fournit une interface utilisateur de secours pendant le chargement du composant.
Exemple 1 : fractionnement de code de base avec React.lazy
Sans fractionnement de code
import React from "react"; import HeavyComponent from "./HeavyComponent"; function App() { return ( <div> <h1 id="Main-App">Main App</h1> <heavycomponent></heavycomponent> </div> ); } export default App;
Dans cette approche, l'intégralité du HeavyComponent est regroupée avec l'application principale, même si elle n'est pas immédiatement nécessaire.
Avec fractionnement de code
import React, { Suspense } from "react"; const HeavyComponent = React.lazy(() => import("./HeavyComponent")); function App() { return ( <div> <h1 id="Main-App">Main App</h1> <suspense fallback="{<div">Loading...</suspense> </div>}> <heavycomponent></heavycomponent> ); } export default App;
Désormais, HeavyComponent n'est chargé que lorsqu'il est rendu. Cela réduit la taille du paquet initial.
Exemple 2 : fractionnement de code dans les routes
Le fractionnement du code fonctionne de manière transparente avec React Router pour charger dynamiquement les composants de l'itinéraire.
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...}> <routes> <route path="/" element="{<Home"></route>} /> <route path="/about" element="{<About"></route>} /> <route path="/contact" element="{<Contact"></route>} /> </routes> </suspense> </router> ); } export default App;
Avantages:
- Chaque composant de l'itinéraire (Accueil, À propos, Contact) est chargé uniquement lors de l'accès à l'itinéraire correspondant.
Exemple 3 : chargement paresseux de plusieurs composants
Chargez paresseux plusieurs composants dans une seule application avec fractionnement logique.
import React, { Suspense, useState } from "react"; const ComponentA = React.lazy(() => import("./ComponentA")); const ComponentB = React.lazy(() => import("./ComponentB")); function App() { const [showA, setShowA] = useState(false); const [showB, setShowB] = useState(false); return ( <div> <button onclick="{()"> setShowA(true)}>Load Component A</button> <button onclick="{()"> setShowB(true)}>Load Component B</button> <suspense fallback="{<div">Loading...</suspense> </div>}> {showA && <componenta></componenta>} {showB && <componentb></componentb>} ); } export default App;
Gestion des erreurs avec React.lazy
React ne fournit pas de gestion intégrée des erreurs pour les importations ayant échoué. Vous pouvez utiliser une Limite d'erreur pour gérer de tels cas.
const LazyComponent = React.lazy(() => import('./LazyComponent')); function App() { return ( <react.suspense fallback="{<div">Loading...}> <lazycomponent></lazycomponent> </react.suspense> ); }
Meilleures pratiques pour le fractionnement de code
- Divisé par itinéraire ou fonctionnalité : divisez votre application en morceaux logiques, tels que des itinéraires ou des fonctionnalités principales.
- Gardez les solutions de secours minimales : utilisez des interfaces utilisateur de secours légères, telles que des flèches ou des messages texte.
- Surveiller la taille du bundle : utilisez des outils tels que Webpack Bundle Analyzer pour identifier les composants volumineux.
- Éviter le fractionnement excessif : équilibre entre le nombre de morceaux et les performances ; trop de morceaux peuvent entraîner une augmentation des requêtes HTTP.
Outils pour améliorer le fractionnement du code
- Webpack : prend en charge les importations dynamiques pour le fractionnement du code.
- Vite : offre des builds rapides et un fractionnement automatique du code.
- React Router : permet une intégration facile avec un chargement paresseux basé sur l'itinéraire.
- React Loadable : une bibliothèque tierce pour un contrôle amélioré sur le chargement paresseux.
Conclusion
Le fractionnement de code avec React.lazy est un moyen puissant d'améliorer les performances de votre application. En chargeant dynamiquement les composants, vous pouvez réduire le temps de chargement initial et améliorer l'expérience utilisateur. Lorsqu'il est combiné avec Suspense et une gestion appropriée des erreurs, il fournit une solution robuste pour créer des applications React efficaces et évolutives.
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!

Les applications de JavaScript dans le monde réel incluent la programmation côté serveur, le développement des applications mobiles et le contrôle de l'Internet des objets: 1. La programmation côté serveur est réalisée via Node.js, adaptée au traitement de demande élevé simultané. 2. Le développement d'applications mobiles est effectué par le reactnatif et prend en charge le déploiement multiplateforme. 3. Utilisé pour le contrôle des périphériques IoT via la bibliothèque Johnny-Five, adapté à l'interaction matérielle.

J'ai construit une application SAAS multi-locataire fonctionnelle (une application EdTech) avec votre outil technologique quotidien et vous pouvez faire de même. Premièrement, qu'est-ce qu'une application SaaS multi-locataire? Les applications saas multi-locataires vous permettent de servir plusieurs clients à partir d'un chant

Cet article démontre l'intégration frontale avec un backend sécurisé par permis, construisant une application fonctionnelle EdTech SaaS en utilisant Next.js. Le frontend récupère les autorisations des utilisateurs pour contrôler la visibilité de l'interface utilisateur et garantit que les demandes d'API adhèrent à la base de rôles

JavaScript est le langage central du développement Web moderne et est largement utilisé pour sa diversité et sa flexibilité. 1) Développement frontal: construire des pages Web dynamiques et des applications à une seule page via les opérations DOM et les cadres modernes (tels que React, Vue.js, Angular). 2) Développement côté serveur: Node.js utilise un modèle d'E / S non bloquant pour gérer une concurrence élevée et des applications en temps réel. 3) Développement des applications mobiles et de bureau: le développement de la plate-forme multiplateuse est réalisé par réact noral et électron pour améliorer l'efficacité du développement.

Les dernières tendances de JavaScript incluent la montée en puissance de TypeScript, la popularité des frameworks et bibliothèques modernes et l'application de WebAssembly. Les prospects futurs couvrent des systèmes de type plus puissants, le développement du JavaScript côté serveur, l'expansion de l'intelligence artificielle et de l'apprentissage automatique, et le potentiel de l'informatique IoT et Edge.

JavaScript est la pierre angulaire du développement Web moderne, et ses principales fonctions incluent la programmation axée sur les événements, la génération de contenu dynamique et la programmation asynchrone. 1) La programmation axée sur les événements permet aux pages Web de changer dynamiquement en fonction des opérations utilisateur. 2) La génération de contenu dynamique permet d'ajuster le contenu de la page en fonction des conditions. 3) La programmation asynchrone garantit que l'interface utilisateur n'est pas bloquée. JavaScript est largement utilisé dans l'interaction Web, les applications à une page et le développement côté serveur, améliorant considérablement la flexibilité de l'expérience utilisateur et du développement multiplateforme.

Python est plus adapté à la science des données et à l'apprentissage automatique, tandis que JavaScript est plus adapté au développement frontal et complet. 1. Python est connu pour sa syntaxe concise et son écosystème de bibliothèque riche, et convient à l'analyse des données et au développement Web. 2. JavaScript est le cœur du développement frontal. Node.js prend en charge la programmation côté serveur et convient au développement complet.

JavaScript ne nécessite pas d'installation car il est déjà intégré à des navigateurs modernes. Vous n'avez besoin que d'un éditeur de texte et d'un navigateur pour commencer. 1) Dans l'environnement du navigateur, exécutez-le en intégrant le fichier HTML via des balises. 2) Dans l'environnement Node.js, après avoir téléchargé et installé Node.js, exécutez le fichier JavaScript via la ligne de commande.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

Version crackée d'EditPlus en chinois
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code