tanstack-angular-table-table-state
This skill builds on @tanstack/table-core#core and getting-started. Read them first for state ownership and Angular construction.
State Mental Model
TanStack Table is primarily a state coordinator. Keep state internal unless another system must read, persist, or drive it. Without initialState, atoms, state, or on[State]Change, the table owns all registered slices.
table.baseAtomsare internal writable atoms initialized from resolved initial state.table.atomsare readonly derived atoms for the active owner of each registered slice.table.storecombines those atoms into one readonly flat store.
The Angular adapter backs atoms with Angular signals. Reads participate in tracking inside templates, computed, and effect; signal reads inside the injectTable initializer also rerun that initializer and call setOptions. State is feature-based: missing pagination state or APIs indicate a missing rowPaginationFeature. Hoist stable features and columns outside the initializer, and return signal-backed data without mapping or slicing inline.