スクロール時にグリッド行を動的にレンダリング

仮想スクロールと無限スクロールを使用して、表示されるコンテンツを動的にレンダリングし、JavaScriptアプリケーションのデータグリッドの性能が向上

スクロール時にグリッド行を動的にレンダリング

データグリッドでスクロールに合わせてアイテムを読み込む機能は、ユーザーのスクロール位置に基づいてコンテンツを動的にレンダリングまたは取得する手法です。大規模なデータセットを扱う際に、パフォーマンスと最終的なユーザー体験を向上させることを目的としています。これにはバーチャルスレッディング(virtual scrolling)が含まれます。これは、グリッドがビューポート内で現在表示されている行のみをレンダリングし、ユーザーがスクロールすると同じ DOM 要素を再利用する仕組みです。また、無限スクロール(infinite scrolling、エンドレススクロールとも呼ばれます)では、現在表示されているデータセットの末尾に到達したことに応じて、リモートソースから追加データを読み込みます。あらゆる時点でレンダリングまたは取得するデータ量を最小化することで、このアプローチは初期ロード時間を大幅に短縮し、応答性を向上させ、アプリケーションが効率的にスケールできるようにします。

スクロールに合わせてアイテムを読み込める JavaScript のグリッドコンポーネントとして、たとえば次のようなものがあります。

  • DevExtreme HTML5 JavaScript Data Grid(DevExpress による DevExtreme の一部)は、データ読み込みのパフォーマンスを最適化するために、バーチャルスレッディングと無限スクロールの両方に対応しています。
  • KendoReact Data Grid(Telerik による KendoReact の一部)は、カスタマイズ可能な列/行の仮想化とバーチャルスレッディングを提供し、必要に応じてデータを動的に要求します。
  • Sencha Ext JS Grid(Sencha Ext JS の一部)は、従来のページネーションなしで、必要に応じてデータを読み込む仮想化システムにより無限スクロールを実装しています。
  • Syncfusion DataGrid for JavaScript(Syncfusion Essential Studio Enterprise の一部)は、応答性の高いグリッドレンダリングのために、仮想化と無限スクロールの両方を可能にします。

機能と価格の詳細な分析については、JavaScript グリッドコンポーネントの比較をご覧ください。

JavaScript グリッドコンポーネントを比較