Skills

Migrate V8 To V9

Migrate react Table v8 to v9.

Install

npx skills add TanStack/table --skill migrate-v8-to-v9 -g -a claude-code -y
Repository
TanStack/table28.5k
Category
Engineering
Updated
14d ago
License
MIT
Context cost
Lightabout 625 tokens
Runs scripts
No, instructions only

What it does

Migrate react Table v8 to v9. Audit framework construction, rendering, state, and app hooks, with shared API changes in the core migration skill.

React v8-to-v9 migration checklist

Before starting, run intent load @tanstack/table-core#migrate-v8-to-v9. Audit its entire shared checklist and read the detailed core mappings for APIs present in the application. This checklist adds the React-specific changes.

Framework prerequisite: React 18 or newer (react >=18).

Adapter audit

  • Replace useReactTable with useTable; remove any temporary useLegacyTable from @tanstack/react-table/legacy.
  • Keep model inputs stable and use explicit tableFeatures plus its row-model slots. Audit every shared change through the core checklist.
  • Replace render reads with selected table.state, table.Subscribe, or useSelector. Atom/store snapshots alone do not subscribe React.
  • Pair each controlled state slice with its updater callback, or supply a stable React Store atom. Remove the global onStateChange option.
  • Check compiler-memoized children hiding builder-method reads; subscribe inside the child or pass the selected value to it.
  • Use table.FlexRender or standalone FlexRender where appropriate; flexRender remains supported.
  • Introduce tableOptions or createTableHook only for repeated conventions; preserve app wrapper and typed-context boundaries.

Load the affected details

When the audit finds old React construction, state, rendering, or app-hook code, read adapter migration details before editing it. For a replacement render scaffold, read getting started. For controlled or stale state after migration, read table state.

Shared pinning, sizing, sorting, selection, prototype-method, type, and registry changes stay in the core migration references. Renaming useReactTable alone does not complete the migration.

Verify the migration

Read the whole SKILL.md on GitHub

More in Engineering