Pemisahan Kod ialah teknik untuk mengoptimumkan prestasi aplikasi React dengan memecahkan berkas JavaScript kepada bahagian yang lebih kecil. React menyediakan React.lazy sebagai cara terbina dalam untuk melaksanakan pemisahan kod pada peringkat komponen. Ini membolehkan anda memuatkan bahagian aplikasi anda secara dinamik mengikut keperluan.
const LazyComponent = React.lazy(() => import('./LazyComponent')); 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>Main App</h1> <HeavyComponent /> </div> ); } export default App;
Dalam pendekatan ini, keseluruhan HeavyComponent digabungkan dengan apl utama, walaupun ia tidak diperlukan segera.
import React, { Suspense } from "react"; const HeavyComponent = React.lazy(() => import("./HeavyComponent")); function App() { return ( <div> <h1>Main App</h1> <Suspense fallback={<div>Loading...</div>}> <HeavyComponent /> </Suspense> </div> ); } export default App;
Kini, HeavyComponent hanya dimuatkan apabila ia dipaparkan. Ini mengurangkan saiz berkas awal.
Pembahagian kod berfungsi dengan lancar dengan Penghala Reaksi untuk memuatkan komponen laluan secara dinamik.
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;
Malas memuatkan berbilang komponen dalam satu apl dengan pemisahan logik.
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...</div>}> {showA && <ComponentA />} {showB && <ComponentB />} </Suspense> </div> ); } export default App;
React tidak menyediakan pengendalian ralat terbina dalam untuk import yang gagal. Anda boleh menggunakan Sempadan Ralat untuk mengendalikan kes sedemikian.
const LazyComponent = React.lazy(() => import('./LazyComponent')); function App() { return ( <React.Suspense fallback={<div>Loading...</div>}> <LazyComponent /> </React.Suspense> ); }
Pembahagian kod dengan React.lazy ialah cara yang berkesan untuk meningkatkan prestasi apl anda. Dengan memuatkan komponen secara dinamik, anda boleh mengurangkan masa pemuatan awal dan meningkatkan pengalaman pengguna. Apabila digabungkan dengan Suspense dan pengendalian ralat yang betul, ia menyediakan penyelesaian yang teguh untuk membina aplikasi React yang cekap dan berskala.
Atas ialah kandungan terperinci Pemisahan Kod dengan React.lazy: Tingkatkan Prestasi Apl Anda. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!