現代の Web 開発の世界では、スピードとパフォーマンスが鍵となります。 React アプリが成長するにつれてバンドル サイズが増加し、読み込み時間が遅くなる可能性があります。 遅延読み込み は、必要な場合にのみコンポーネントを読み込むことができる最適化手法であり、初期読み込み時間を短縮し、パフォーマンスを向上させるのに役立ちます。
遅延読み込み (またはコード分割) は、実際に必要になるまでリソース (コンポーネントなど) の読み込みを遅らせる方法です。これにより、初期読み込みサイズが削減され、アプリのパフォーマンスが向上します。
たとえば、複数ページのアプリでは、すべてのルートのコンポーネントを事前にロードする必要はありません。ユーザーが特定のルートに移動するときにそれらをロードできます。これにより、特に低速ネットワークでの初期バンドル サイズが削減され、読み込み時間が短縮されます。
初期ロード時間の短縮: 重要なコンポーネントのみを最初にロードすることで、初期バンドル サイズが小さくなり、ロード時間が短縮されます。
最適化された帯域幅使用: 不要なリソースは必要になるまで取得されないため、データ使用量が削減されます。
ユーザー エクスペリエンスの強化: アプリの読み込みが速くなると、ユーザー エクスペリエンスが向上し、ユーザー維持率とエンゲージメントが向上します。
React には、React 16.6 で導入された React.lazy と Suspense を使用した遅延読み込みのサポートが組み込まれています。
import MyComponent from './MyComponent';
この場合、MyComponent は初期バンドルの一部としてロードされます。
const MyComponent = React.lazy(() => import('./MyComponent'));
import React, { Suspense } from 'react'; const MyComponent = React.lazy(() => import('./MyComponent')); function App() { return (}>Loading...
この例では、MyComponent が必要な場合、React はそれを動的にインポートし、コンポーネントの準備ができるまで読み込みメッセージを表示します。
遅延読み込みは、複数のルートを持つ大規模なアプリケーションに特に役立ちます。 React Router を使用すると、ルート コンポーネントを簡単に遅延ロードできます。
npm install react-router-dom
import React, { Suspense } from 'react'; import { BrowserRouter as Router, Route, Routes } from 'react-router-dom'; const Home = React.lazy(() => import('./pages/Home')); const About = React.lazy(() => import('./pages/About')); function App() { return ( <Router> <Suspense fallback={<div>Loading...</div>}> <Routes> <Route path="/" element={<Home />} /> <Route path="/about" element={<About />} /> </Routes> </Suspense> </Router> ); } export default App;
この例では、Home コンポーネントと About コンポーネントは、それぞれのルートが訪問されたときにのみ遅延読み込みされます。
const preloadAbout = () => { import('./pages/About'); };
const About = React.lazy(() => import(/* webpackChunkName: "about" */ './pages/About'));
class ErrorBoundary extends React.Component { constructor(props) { super(props); this.state = { hasError: false }; } static getDerivedStateFromError() { return { hasError: true }; } render() { if (this.state.hasError) { return <div>Error loading component!</div>; } return this.props.children; } } // Usage <ErrorBoundary> <Suspense fallback={<div>Loading...</div>}> <MyComponent /> </Suspense> </ErrorBoundary>
遅延読み込みはパフォーマンスを大幅に向上させることができますが、戦略的に使用する必要があります。遅延ロードされたコンポーネントが多すぎることでアプリケーションをオーバーロードすると、ルート間を移動したりコンポーネントをレンダリングしたりするときに遅延が発生する可能性があります。実行時の「過剰な」読み込みを避けるために、遅延読み込みとユーザー エクスペリエンスのバランスを常に保ってください。
遅延読み込みは、React アプリケーションのパフォーマンスを向上させる効果的な方法です。必要な場合にのみコンポーネントをロードすることで、初期バンドル サイズを削減し、帯域幅を節約し、ユーザーにより良いエクスペリエンスを提供できます。
遅延読み込みの実装は、React.lazy と Suspense を使用すると簡単です。React Router と組み合わせると、アプリ内のルートを効率的に遅延読み込みできます。これらのテクニックを使用して、今すぐ React アプリを最適化してください!
以上が遅延読み込みによる React アプリのパフォーマンスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。