
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
useReactTablewithuseTable; remove any temporaryuseLegacyTablefrom@tanstack/react-table/legacy. - Keep model inputs stable and use explicit
tableFeaturesplus its row-model slots. Audit every shared change through the core checklist. - Replace render reads with selected
table.state,table.Subscribe, oruseSelector. Atom/store snapshots alone do not subscribe React. - Pair each controlled
stateslice with its updater callback, or supply a stable React Store atom. Remove the globalonStateChangeoption. - Check compiler-memoized children hiding builder-method reads; subscribe inside the child or pass the selected value to it.
- Use
table.FlexRenderor standaloneFlexRenderwhere appropriate;flexRenderremains supported. - Introduce
tableOptionsorcreateTableHookonly 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.
