tanstack-table
Build TanStack Table components using the meta field pattern for cell callbacks instead of closures. Use when creating data tables, implementing sorting, or adding inline editing.
How do I install this agent skill?
npx skills add https://github.com/casper-studios/casper-marketplace --skill tanstack-tableIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill provides technical documentation and code patterns for implementing TanStack Table in React. It focuses on using the meta field for type-safe callbacks. No security risks were identified.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
- Runlayerwarn
3/3 files flagged
- ZeroLeakspass
Score: 93/100 · 2 sections analyzed
What does this agent skill do?
Documentation
Use context7 for the latest documentation. Use deepwiki to ask questions about the library's implementation.
- GitHub Repository: https://github.com/TanStack/table
- DeepWiki Repository:
TanStack/table - Context7 Library ID:
/tanstack/table
TanStack Table Patterns
This skill covers TanStack Table library patterns with the meta field for passing behavior to cells.
Core Pattern: Hoisted Columns with Meta
// 1. Extend TableMeta for type safety
declare module '@tanstack/react-table' {
interface TableMeta<TData extends RowData> {
onEdit?: (id: string) => void;
onDelete?: (id: string) => void;
}
}
// 2. Hoist column definitions outside component
const columnHelper = createColumnHelper<Job>();
const columns = [
columnHelper.accessor('name', {
header: 'Name',
cell: info => info.getValue(),
}),
columnHelper.display({
id: 'actions',
cell: ({ row, table }) => (
<Button onClick={() => table.options.meta?.onEdit?.(row.original.id)}>Edit</Button>
),
}),
];
// 3. Pass callbacks via meta
function DataTable({ data, onEdit, onDelete }: Props) {
const table = useReactTable({
data,
columns,
getCoreRowModel: getCoreRowModel(),
meta: { onEdit, onDelete },
});
return <Table>...</Table>;
}
Why Meta Over Closures?
Closures in column definitions cause re-renders:
// Bad - new column array every render
const columns = useMemo(() => [
{
cell: ({ row }) => (
<Button onClick={() => onEdit(row.original.id)}>Edit</Button>
),
},
], [onEdit]); // Invalidates when onEdit changes
// Good - stable columns, dynamic meta
const columns = [...]; // Hoisted, never changes
const table = useReactTable({
meta: { onEdit }, // Only meta changes
});
References
- For column definition patterns, see column-definitions.md
- For meta field type safety, see meta-field.md
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/casper-studios/casper-marketplace/tanstack-table">View tanstack-table on skillZs</a>