ページ内ナビ
概要
TanStack Virtualは、長い一覧や格子表示で、見えている範囲とその周辺だけを描画するための位置計算を提供します。見た目を決めないため、React、Vue、Svelteなど既存の画面部品へ組み込めます。
特徴と向いている用途
実機検証あり(下記の環境・範囲に限定) · 内容確認日:
主な特徴
向いている用途
導入前の確認
3.17.11 / macOS, Node.js 26.7.0, isolated temporary npm project
Executed the pinned @tanstack/virtual-core API example and verified 9,10,11,12,13; no browser or external service was used.
参考にした公式資料
- [1]TanStack/virtual README at 78371e851e90(2026-10-05)
- [2]Virtual official documentation(2026-10-05)
- [3]@tanstack/virtual-core 3.17.11 package source(2026-10-05)
- [4]TanStack/virtual LICENSE at 78371e851e90(2026-10-05)
- [5]TanStack/virtual GitHub metadata(2026-10-05)
編集部からの補足
一覧の見た目を変えずに描画件数を減らしたい場合に適します。まずコアAPIへ既知の領域と位置を渡し、余白を含む項目範囲が予測どおりか確かめてください。
3ステップで試す
- 1
固定版のコアを準備する
Node.jsとnpmが必要です。一時ディレクトリにvirtual-core 3.17.11を固定して導入します。
demo=$(mktemp -d "${TMPDIR:-/tmp}/tanstack-virtual.XXXXXX") && cd "$demo" && npm init -y >/dev/null && npm install --save-exact @tanstack/virtual-core@3.17.11 - 2
仮想一覧の条件を与える
100件・各30px・表示高90px・スクロール位置300pxを模した仮想一覧を作ります。前後1件の余白も指定します。
printf '%s\n' 'import {Virtualizer} from '\''@tanstack/virtual-core'\''' 'let setRect,setOffset' 'const v=new Virtualizer({count:100,getScrollElement:()=>({}),estimateSize:()=>30,overscan:1,observeElementRect:(_,cb)=>{setRect=cb;return()=>{}},observeElementOffset:(_,cb)=>{setOffset=cb;return()=>{}},scrollToFn(){}})' 'v._didMount();v._willUpdate()' 'setRect({width:300,height:90});setOffset(300,false)' 'console.log(v.getVirtualItems().map(item=>item.index).join('\'','\''))' > demo.mjs - 3
描画対象の範囲を検証する
画面内の10〜12番に前後1件を加え、9〜13番だけが描画対象になることを確認します。
test "$(node demo.mjs)" = "9,10,11,12,13"
成長
成長の推移 · 直近30日
7,128 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 15
- Open PR
- 38
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
カテゴリ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- react
- reactjs
- virtualization
- virtualized
- javascript
- scrolling
- performance
- solid
- solidjs
- svelte
- vue
- Stars
- 7,128
- Forks
- 472
- Watchers
- 34
- Open Issues
- 82
- Contributors
- 152
- 所有者種別
- Organization
- 主要言語
- TypeScript
- ライセンス
- MIT
- リポジトリ最終更新
- 2026/09/21
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Table28,474 Stars
共通タグ 5件 · 共通カテゴリ 1件 · 同じ言語
表示方法を決めずに、表の並べ替え、絞り込み、ページ分割を組み立てるヘッドレスライブラリ
TypeScript - TanStack Query50,394 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
remote/server stateのfetch・cache・refetch・mutationをUI frameworkから分離して管理するasync state library
TypeScript - Onsen UI8,854 Stars
共通タグ 3件 · 共通カテゴリ 1件
Web Componentsを中心にiOS/Android風UIを同じHTML・JavaScriptから構築する
JavaScript - Storybook91,200 Stars
共通タグ 3件 · 同じ言語
UI状態をstoryとして保存し、Docs・interaction test・AI toolへ再利用するfrontend workshop
TypeScript - Router15,152 Stars
共通タグ 3件 · 同じ言語
React向けの型安全な経路定義、検索条件、画面遷移を一つの型情報で結ぶルーター
TypeScript - Builder.io SDKs8,863 Stars
共通タグ 3件 · 同じ言語
Visual Development platformを既存のReact・Vue・Svelte等へ接続するOSS SDK群
TypeScript
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。