Providers overview
Every provider and state container in ApiTables
Providers and state are the most confusing part for new frontend developers. This page clarifies what is Redux, what is local React state, and what is a hook.
ApiTables uses three coordination mechanisms:
ApiTablesProvider— React ReduxProviderwith a dedicated table store- Redux slices —
tableCore,tableColumns,bulkActions,rowActions useUtilsProvider— Hook (not a React Provider) that centralizes POST handlers and cross-store side effects
There is no React Context beyond Redux. Feature code should use hooks inside the ApiTablesProvider subtree.
Junior rule
Your feature page uses useTableStructure (local state). Everything inside ReactApiTable uses the table Redux store.
Quick reference
| Name | Type | Purpose |
|---|---|---|
ApiTablesProvider | React component | Mount per-table Redux; remount on global refresh |
createTableStore() | Function | New store instance per table |
getExternalState() | Function | Snapshot of global @/store/store |
useUtilsProvider() | Hook | Row/bulk POST, reload, downloads, global loader |
What is not a provider
| Item | Note |
|---|---|
useTableStructure | Local useState on the feature page — structure lives outside table Redux |
useTableFetcher | Hook used only inside controller |
useSelector(state => state.app) | Used in ApiTablesProvider for remount key only |