solid/production-readiness

Optimize Solid TanStack Table v9 apps with tree-shaking and stable identities.

28.3k|3.6k|Updated Oct 20, 2016
One-click install
npx skills add https://github.com/TanStack/table --skill solid-production-readiness
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: solid/production-readiness
Source: https://github.com/TanStack/table/tree/main/packages/solid-table/skills/solid/production-readiness
Command: npx skills add https://github.com/TanStack/table --skill solid-production-readiness

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Prevents TanStack Solid Table apps from degrading in real production workloads due to unnecessary bundle size, unstable identities, and overly broad state subscriptions.

Core Features & Use Cases

  • Tree-shake features aggressively: Register only the Solid table features you use to reduce state slices and derivations in your bundle.
  • Keep critical inputs stable: Ensure _features, columns, and data identities stay stable (with module-scope constants and createMemo where appropriate).
  • Use narrow selectors and fine-grained reactivity: Avoid (state) => state patterns and reduce unnecessary re-renders by selecting only the state slices a component needs.
  • Pick the right reactivity boundary: Use table.Subscribe only for coarse isolation cases; prefer JSX-level reads for normal updates.
  • Scale with external atoms and virtualization: Use per-slice external atoms for server-driven or cross-component state, and pair with @tanstack/solid-virtual for large row counts.

Quick Start

Update your @tanstack/solid-table v9 setup to register only the features you use, keep _features/columns/data stable, and narrow any createTable selectors so components re-render only for the slices they actually render.

Frequently Asked Questions about solid/production-readiness

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I optimize TanStack Table performance in SolidJS for large datasets?

Optimize TanStack Table performance in SolidJS by tree-shaking unused table features, keeping `columns` and `data` identities stable, and using narrow state selectors to prevent unnecessary re-renders across large datasets.

Why does my SolidJS table re-render unnecessarily when state updates?

Your SolidJS table re-renders unnecessarily due to overly broad state subscriptions. Use narrow state selectors instead of `(state) => state` patterns, and leverage fine-grained Solid reactivity to isolate component updates to only the state slices they render.

What is the best way to reduce bundle size for a TanStack Solid Table?

The best way to reduce bundle size for a TanStack Solid Table is aggressive `_features` tree-shaking. Register only the specific table features you use, like sorting or filtering, to eliminate unused state slices and derivations from your production bundle.

Can I use fine-grained Solid reactivity with TanStack Table server-driven state?

You can manage server-driven state in TanStack Table using per-slice external atoms. This approach pairs fine-grained Solid reactivity with external atoms to handle cross-component state efficiently without triggering broad component tree re-renders.

Do I need virtualization for Solid tables with frequently updating data?

You need virtualization for Solid tables with large row counts and frequently updating data. Pairing fine-grained reactivity with `@tanstack/solid-virtual` ensures the table scales effectively by rendering only the visible rows in the viewport.

When should I use table.Subscribe versus JSX-level reads in SolidJS?

Use `table.Subscribe` only for coarse isolation cases in SolidJS. For normal state updates, prefer JSX-level reads to maintain fine-grained reactivity boundaries and prevent unnecessary re-render work in your TanStack Table components.