表示範囲内の行やセルだけを描画し、大規模なリストや表データを効率よく表示するReactコンポーネント群。
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
NPMからライブラリをインストールします
npm install react-window - 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 の数値は毎日更新されます。
関連プロジェクト
shadcnまたはjsrepoから導入できる、無料でアニメーションやカスタマイズに対応したReact・Next.jsコンポーネントと背景素材を215種類以上収録したライブラリです。
ダークモードとNext.js RSCに対応し、Webアプリをすばやく構築できるアクセシブルなReactコンポーネントライブラリ兼デザインシステム。
100以上のコンポーネント、80以上のフックを備え、フォーム、チャート、通知などの追加パッケージも提供するReactコンポーネントライブラリ。
React AriaとTailwind CSS v4を基盤とするReact UIコンポーネントライブラリ。旧称はNextUI。
Next.jsやshadcn/uiのアプリにコピーして使える、アニメーション付きUIコンポーネントとエフェクトを集めたReact・Tailwind CSSライブラリです。