Repolode
bvaughn

bvaughn/react-window

表示範囲内の行やセルだけをマウントし、大規模なリストや表データを効率よく描画するReactコンポーネント。

スター
17,199
フォーク
815
未解決の Issue
0
最終コミット
4 時間前

これは何?

react-windowは、一度に何千ものDOMノードを描画することで生じる遅延を抑えながら、長いリストやグリッドを表示するためのReactコンポーネントライブラリです。行形式のデータに対応するListコンポーネントと、行と列で構成されたデータに対応するGridコンポーネントを提供し、表示範囲内のアイテムと、設定可能なオーバースキャン領域だけを描画します。

どちらのコンポーネントも、行またはセルを描画するコンポーネントと件数を受け取り、固定サイズや可変サイズ、割合で指定する寸法、カスタムキー、スクロール位置などのpropsを任意で指定できます。スクロールはコンポーネント自身のコンテナ、祖先要素、またはwindowを使って制御でき、命令型のrefからスクロール用メソッドを呼び出せます。TypeScriptの型定義はnpmパッケージに含まれています。

このライブラリはnpmからインストールでき、ブラウザで大規模なデータセットを描画する必要があるReact開発者を対象としています。詳しいドキュメントとFAQはプロジェクトのWebサイトで公開されています。

主な機能

  • 01表示範囲内の行やセルだけを描画し、大規模なデータセットでもDOMのサイズを小さく保つ
  • 02行データ用のListと、二次元の表データ用のGridを提供
  • 03固定値、割合、関数による行の高さと列の幅の指定に対応
  • 04hookによる動的な行の高さの計測に対応
  • 05scrollElementを使ってwindowまたは祖先要素でスクロール可能
  • 06スクロール用の命令型ref APIとTypeScriptの型定義を提供

ユースケース

  • Reactアプリで何千件ものチャットメッセージ、ログ、フィードを描画する
  • Webダッシュボードでデータテーブルやスプレッドシート風のグリッドを作る
  • 遅延を抑えながら、長いドロップダウンやセレクトの選択肢一覧を表示する
  • windowと連動してスクロールするページ内に、仮想化リストを埋め込む

クイックスタート

  1. 1

    NPMからライブラリをインストールします

    npm install react-window
  2. 2

    TypeScriptの型定義は公開済みのdistフォルダーに含まれています。使い方についてはドキュメントサイトをご覧ください

使う前に知っておきたいこと

  • READMEによると、行の高さを動的に設定する方法は、あらかじめサイズを決めておく方法より効率が劣ります。

トピック

よくある質問

react-window とは?
表示範囲内の行やセルだけをマウントし、大規模なリストや表データを効率よく描画するReactコンポーネント。 react-windowは、一度に何千ものDOMノードを描画することで生じる遅延を抑えながら、長いリストやグリッドを表示するためのReactコンポーネントライブラリです。行形式のデータに対応するListコンポーネントと、行と列で構成されたデータに対応するGridコンポーネントを提供し、表示範囲内のアイテムと、設定可能なオーバースキャン領域だけを描画します。
react-window は無料で使えますか?ライセンスは?
react-window は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
react-window は今もメンテナンスされていますか?
活発にメンテナンス中。react-window の最終コミットは 2026年10月22日 です。
react-window は何に使えますか?
Reactアプリで何千件ものチャットメッセージ、ログ、フィードを描画する Webダッシュボードでデータテーブルやスプレッドシート風のグリッドを作る 遅延を抑えながら、長いドロップダウンやセレクトの選択肢一覧を表示する windowと連動してスクロールするページ内に、仮想化リストを埋め込む
react-window のインストール方法は?
NPMからライブラリをインストールします: npm install react-window TypeScriptの型定義は公開済みのdistフォルダーに含まれています。使い方についてはドキュメントサイトをご覧ください
react-window はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/bvaughn/react-window

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト