Troubleshooting

Common frontend ApiTables issues and fixes

Quick checklist

Does structure load?

Network tab → GET load-table/...success: true and non-empty columns.

If 401: auth token missing on axiosTable.

Is table prop defined before render?

if (tableStructureLoading) return <Spinner />;
return <ReactApiTable table={tableStructure} ... />;

Rendering before structure arrives shows empty or broken table.

Does query-table return items?

POST query-table/{tableName} — check items array and pagination.total.

Do data_src keys match?

Compare structure columns[].data_src with keys in query items[].

Wrong load path?

Path is per feature — copy from a working page in the same app, not from docs examples blindly.

Symptom → fix

SymptomLikely causeFix
Blank table, no headersStructure not loaded or empty columnsFix backend table; check hook table URL
Headers but no rowsQuery failing or empty filtersNetwork tab on query-table; check POST body
Infinite loadingQuery error swallowedCheck console; verify tableName in structure
Row action does nothingWrong URL or success: falseNetwork tab on action POST; read errors
Action works, UI staleWrong onSuccessBackend should return refetchRow or refetchData
Filters do not applyfilter_name mismatchAlign with backend filters
Export downloads failBlob response handlingSee useUtilsProvider export branch
401 redirects to loginExpected for expired sessionhandleNetworkErrors in errorHandling.ts
Custom modal emptyControl not registeredWired controls
Table does not refresh after parent saveMissing refresherOut-of-scope refresher

Debugging tips

ToolUse
Redux DevToolsInspect structureColumns, tableData, appliedFilters
React DevToolsConfirm ApiTablesProvider wraps table
Network tabCompare structure vs query vs action sequence

Coordinate with backend

Frontend seesAsk backend to check
Missing column$TBLColumns
Filter ignoredfilter_name vs POST field
Action 422Action key slug, callback exists
Wrong cell valuedata_src, callbacks

On this page