Komponen Malas Memuatkan dalam React
Lazy Loading ialah teknik dalam React yang membolehkan anda memuatkan komponen hanya apabila ia diperlukan. Ini membantu meningkatkan prestasi aplikasi anda dengan mengurangkan masa pemuatan awal, kerana hanya bahagian apl yang diperlukan dimuatkan pada mulanya dan selebihnya dimuatkan secara dinamik apabila perlu.
React menyediakan fungsi React.lazy dan komponen Suspense untuk melaksanakan pemuatan malas.
Bagaimana Lazy Loading Berfungsi
- React.lazy: Mengimport komponen secara dinamik.
- Suspense: Memaparkan sandaran (cth., pemutar pemuatan) semasa komponen sedang dimuatkan.
Sintaks
const LazyComponent = React.lazy(() => import('./path/to/Component')); function App() { return ( <react.suspense fallback="{<div">Loading...}> <lazycomponent></lazycomponent> </react.suspense> ); }
- React.lazy: Mengimport komponen yang ditentukan secara dinamik.
- Suspense: Membungkus komponen yang dimuatkan dengan malas dan menyediakan UI sandaran semasa komponen sedang dimuatkan.
Contoh 1: Pemuatan Malas Asas
Tanpa Lazy Loading
import React from "react"; import HeavyComponent from "./HeavyComponent"; function App() { return ( <div> <h1 id="App-Component">App Component</h1> <heavycomponent></heavycomponent> </div> ); } export default App;
Dalam contoh ini, HeavyComponent sentiasa dimuatkan, walaupun ia tidak diperlukan serta-merta, meningkatkan masa pemuatan awal.
Dengan Lazy Loading
import React, { Suspense } from "react"; const HeavyComponent = React.lazy(() => import("./HeavyComponent")); function App() { return ( <div> <h1 id="App-Component">App Component</h1> <suspense fallback="{<div">Loading Heavy Component...</suspense> </div>}> <heavycomponent></heavycomponent> ); } export default App;
Kini, HeavyComponent dimuatkan hanya apabila ia dipaparkan. UI sandaran (cth., "Memuatkan Komponen Berat...") dipaparkan semasa komponen sedang diambil.
Contoh 2: Lazy Loading dengan React Router
Pemuatan malas amat berguna dalam penghalaan untuk memuatkan komponen untuk laluan tertentu hanya apabila laluan tersebut diakses.
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;
- React.lazy: Malas memuatkan komponen untuk laluan seperti /about dan /contact.
- Suspense: Memaparkan UI sandaran semasa komponen sedang dimuatkan.
Kebaikan Lazy Loading
- Peningkatan Prestasi: Mengurangkan masa pemuatan awal dengan menangguhkan pemuatan komponen yang tidak diperlukan.
- Pengalaman Pengguna yang Lebih Baik: Memuatkan komponen secara dinamik, yang membantu dalam mencipta apl responsif.
- Saiz Himpunan Dikurangkan: Pisahkan kod kepada bahagian yang lebih kecil, meminimumkan saiz berkas JavaScript yang dimuatkan pada mulanya.
Contoh Lanjutan: Malas Memuatkan Pelbagai Komponen
Anda boleh malas memuatkan berbilang komponen dan menggabungkannya dengan pemaparan bersyarat.
const LazyComponent = React.lazy(() => import('./path/to/Component')); function App() { return ( <react.suspense fallback="{<div">Loading...}> <lazycomponent></lazycomponent> </react.suspense> ); }
Ralat Pengendalian dengan Lazy Loading
Jika komponen yang dimuatkan malas gagal dimuatkan (mis., ralat rangkaian), React tidak menyediakan pengendalian ralat terbina dalam untuk memuatkan malas. Anda boleh menggunakan ErrorBoundary untuk mengendalikan senario sedemikian.
import React from "react"; import HeavyComponent from "./HeavyComponent"; function App() { return ( <div> <h1 id="App-Component">App Component</h1> <heavycomponent></heavycomponent> </div> ); } export default App;
Amalan Terbaik untuk Lazy Loading
- Kekalkan Fallbacks Simple: Gunakan UI fallback yang ringan seperti pemutar atau mesej teks.
- Bahagian Komponen Dengan Bijak: Pisahkan komponen secara logik, seperti mengikut laluan atau mengikut ciri.
- Gabungkan dengan Pemisahan Kod: Gunakan alatan seperti Webpack atau Vite untuk pemisahan kod yang berkesan.
Kesimpulan
Pemuatan malas dalam React ialah cara yang berkesan untuk meningkatkan prestasi aplikasi dan mengoptimumkan pengalaman pengguna. Dengan memuatkan komponen secara dinamik menggunakan React.lazy dan Suspense, anda boleh mengurangkan masa pemuatan awal dan memastikan bahawa hanya bahagian yang diperlukan dalam aplikasi anda diambil.
Atas ialah kandungan terperinci Tingkatkan Prestasi Apl React dengan Komponen Lazy Loading. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

JavaandjavascriptaredistinctLanguages: javaisusedforenterpriseandMobileApps, whilvascriptisforinteractivewebpages.1) javaisco mpiled, statiktyped, andrunsonjvm.2) javascriptisinterinterpreted, dinamicallytyped, andrunsinbrowsersornode.js.3) javausesoopwithcl

Jenis data teras JavaScript adalah konsisten dalam penyemak imbas dan node.js, tetapi ditangani secara berbeza dari jenis tambahan. 1) Objek global adalah tetingkap dalam penyemak imbas dan global di Node.js. 2) Objek penampan unik Node.js, digunakan untuk memproses data binari. 3) Terdapat juga perbezaan prestasi dan pemprosesan masa, dan kod perlu diselaraskan mengikut persekitaran.

JavaScriptusestWotypesofcomments: Single-line (//) danMulti-line (//)

Perbezaan utama antara Python dan JavaScript ialah sistem jenis dan senario aplikasi. 1. Python menggunakan jenis dinamik, sesuai untuk pengkomputeran saintifik dan analisis data. 2. JavaScript mengamalkan jenis yang lemah dan digunakan secara meluas dalam pembangunan depan dan stack penuh. Kedua -duanya mempunyai kelebihan mereka sendiri dalam pengaturcaraan dan pengoptimuman prestasi yang tidak segerak, dan harus diputuskan mengikut keperluan projek ketika memilih.

Sama ada untuk memilih Python atau JavaScript bergantung kepada jenis projek: 1) Pilih Python untuk Sains Data dan Tugas Automasi; 2) Pilih JavaScript untuk pembangunan front-end dan penuh. Python disukai untuk perpustakaannya yang kuat dalam pemprosesan data dan automasi, sementara JavaScript sangat diperlukan untuk kelebihannya dalam interaksi web dan pembangunan stack penuh.

Python dan JavaScript masing -masing mempunyai kelebihan mereka sendiri, dan pilihan bergantung kepada keperluan projek dan keutamaan peribadi. 1. Python mudah dipelajari, dengan sintaks ringkas, sesuai untuk sains data dan pembangunan back-end, tetapi mempunyai kelajuan pelaksanaan yang perlahan. 2. JavaScript berada di mana-mana dalam pembangunan front-end dan mempunyai keupayaan pengaturcaraan tak segerak yang kuat. Node.js menjadikannya sesuai untuk pembangunan penuh, tetapi sintaks mungkin rumit dan rawan kesilapan.

Javascriptisnotbuiltoncorc; it'saninterpretedlanguagethatrunsonenginesoftenwritteninc .1) javascriptwasdesignedasalightweight, interpratedlanguageforwebbrowsers.2)

JavaScript boleh digunakan untuk pembangunan front-end dan back-end. Bahagian depan meningkatkan pengalaman pengguna melalui operasi DOM, dan back-end mengendalikan tugas pelayan melalui Node.js. 1. Contoh front-end: Tukar kandungan teks laman web. 2. Contoh backend: Buat pelayan Node.js.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)
