Capítulo 54 de 54
Every export under @tanstack/react-table/legacy is deprecated on arrival — it exists solely so a v8 codebase can upgrade its dependency without a big-bang rewrite, via useLegacyTable (see the dedicated guide chapter). Nothing here should appear in new code.
| Export | Role |
|---|---|
useLegacyTable() | v8-shaped useReactTable replacement, running on v9 internals |
legacyCreateColumnHelper() | v8-shaped createColumnHelper (.accessor, .display) |
getCoreRowModel() / getFilteredRowModel() / getSortedRowModel() / getGroupedRowModel() / getExpandedRowModel() / getPaginationRowModel() | v8-shaped row-model getters, passed directly as table options instead of registered via tableFeatures() |
getFacetedRowModel() / getFacetedMinMaxValues() / getFacetedUniqueValues() | v8-shaped faceting row-model getters |
LegacyRowModelOptions<TData> | options shape accepted by the legacy row-model getters |
LegacyTable<TData> / LegacyTableOptions<TData> / LegacyReactTable<TData> | v8-shaped table instance/options/hook-return types |
LegacyColumnDef<TData, TValue> | v8-shaped column definition type |
LegacyFeatures | the fixed "everything on" feature set useLegacyTable runs with internally |
RowModelFactory / FacetedRowModelFactory / FacetedMinMaxValuesFactory / FacetedUniqueValuesFactory | the factory-function type signatures behind the get*RowModel legacy functions |
@tanstack/react-table/legacy entrypoint — core exports (flexRender, shared state types) still come from @tanstack/react-table itself. Mixing up which entrypoint an import comes from is the most common setup mistake (see the useLegacyTable chapter).LegacyFeatures bundles every built-in feature unconditionally — useLegacyTable cannot opt into a smaller bundle the way tableFeatures({...}) can.get*RowModel() functions are passed directly as table options (getCoreRowModel: getCoreRowModel(), etc.), exactly matching v8's API — not registered inside tableFeatures().useTable + tableFeatures), not a parallel long-term API surface.useLegacyTable toward useTable, one table at a time.LegacyFeatures' all-features-on bundle is the concrete cost of using this compatibility layer — budget for it accordingly if migrating a large app incrementally.@tanstack/react-table vs. @tanstack/react-table/legacy) whenever mixing legacy and current-API tables in the same codebase during a migration.