「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > ReactJS での遅延読み込み: 開発者ガイド

ReactJS での遅延読み込み: 開発者ガイド

2024 年 11 月 6 日に公開
ブラウズ:271

遅延読み込みは ReactJS の強力なテクニックで、必要なときにのみコンポーネントや要素を読み込むことができ、Web アプリケーションのパフォーマンスを向上させます。この記事では、遅延読み込みの概念とその利点、そして組み込みの React.lazy()React.Suspense を使用して遅延読み込みを React アプリケーションに実装する方法について説明します。 ] 特徴。
 

遅延読み込みとは何ですか?

遅延読み込みは、初期読み込み時に重要ではないリソースの読み込みを遅らせるために、Web 開発で一般的に使用される手法です。これは、画像、コンポーネント、ルートなどのリソースが一度にロードされるのではなく、オンデマンドでロードされることを意味します。これにより、初期ロード時間が大幅に短縮され、ユーザー エクスペリエンスが向上します
 

遅延読み込みの利点

  1. パフォーマンスの最適化: 大きなバンドルを小さなチャンクに分割し、オンデマンドでロードすることで、遅延ロードにより、アプリケーションの初期ロード時間と全体のロード時間が大幅に短縮されます。
  2. 帯域幅消費の削減: リソースは必要な場合にのみロードされるため、帯域幅が節約され、ネットワーク接続が遅いユーザーにとって特に便利です。
  3. ユーザー エクスペリエンスの向上: コンテンツをより速く表示し、意味のある最初のペイントまでの時間を短縮することで、ユーザーはより迅速なナビゲーションとインタラクションを体験できます。  

React での遅延読み込みの実装

React は、React.lazy() 関数と React.Suspense コンポーネントを通じて遅延読み込みの組み込みサポートを提供します。これらの機能により、コード分割の実装とコンポーネントの動的ロードが容易になります。
 

React.lazy()React.Suspense の使用

  • React.lazy() は、動的インポートを通常のコンポーネントとしてレンダリングできるようにする関数です。この関数は、動的インポート (デフォルトのエクスポートを含むモジュールに解決される Promise) を返す関数を受け取り、React コンポーネントを返します。
  • React.Suspense は、遅延ロードされたコンポーネントがフェッチされている間に表示されるフォールバック UI を定義できるコンポーネントです。任意の階層レベルで使用できるため、複数のコンポーネントを遅延してロードするための柔軟性が得られます。
  • Suspense のフォールバック プロップは、プレースホルダー コンテンツとして機能する React 要素を受け取ります。これは、読み込みスピナー、進行状況バー、または読み込み中に表示したいその他の React コンポーネントにすることができます。

たとえば、About コンポーネントを遅延ロードする単純な Home コンポーネントを考えてみましょう。

Lazy Loading in ReactJS: A Developer Guide
この例では:

  • React.lazy() は About コンポーネントを動的にインポートするために使用されます
  • React.Suspense は遅延コンポーネントの周囲にラップされており、コンポーネントの読み込み中にフォールバック プロップを使用して読み込みインジケーター (スピナーや単純なテキストなど) を指定します。  

遅延ロードされたコンポーネントでのエラー処理

遅延読み込みコンポーネントを扱う場合、ネットワークの問題やその他のエラーにより読み込みプロセスが失敗する可能性が常にあります。このような場合のユーザー エクスペリエンスを向上させるために、エラー境界を使用してエラーを捕捉し、カスタム エラー メッセージを表示できます。以下に例を示します:

Lazy Loading in ReactJS: A Developer Guide
Suspense コンポーネントを ErrorBoundary コンポーネント でラップすると、読み込みエラーが確実に捕捉され、空白の画面の代わりにフォールバック UI が表示されます。
 

React Router を使用したルートベースの遅延読み込み

ルートベースの遅延読み込みは、特に大規模なアプリケーションを扱う場合に、ユーザー ナビゲーションに基づいてコードを分割する効率的な方法です。すべてのルート コンポーネントを事前にロードする代わりに、React.lazy() を使用して、必要な場合にのみルート コンポーネントを動的にロードできます。 React Router を使用した例を次に示します:

Lazy Loading in ReactJS: A Developer Guide
この例では、ユーザーがそれぞれのルートに移動すると、Home コンポーネントと Products コンポーネントが遅延して読み込まれ、アプリケーションのパフォーマンスが最適化されます。
 

結論

遅延読み込みは、必要なときにのみコンポーネントとリソースを読み込み、React アプリケーションを最適化する非常に効果的な方法です。これにより、パフォーマンスが大幅に向上し、帯域幅の使用量が削減され、全体的なユーザー エクスペリエンスが向上します。 React.lazy() と React.Suspense をエラー境界とルートベースの遅延読み込みとともに使用することで、React アプリケーションをより効率的でユーザーフレンドリーにすることができます。

リリースステートメント この記事は次の場所に転載されています: https://dev.to/dualite/lazy-loading-in-reactjs-a-developer-guide-21b3?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3