SuperAPI AI 工具集

tanstack-table-core-client-vs-server

前端与建站

查看项目

更新于 10-16 00:02

技能介绍

用途:该技能建立在 core 与 table-features 之上,用于在 TanStack Table v9 中决定筛选、分组、排序、展开和分页的处理归属——由客户端完成整条流水线,还是交由服务端处理。使用前应先阅读 core 与 table-features 以了解模型流水线与插件槽位。

主要能力:通过 tableFeatures 注册所需特性,例如 rowSortingFeature、rowPaginationFeature;客户端模式需同时提供对应 rowModel,如 createFilteredRowModel、createSortedRowModel、createPaginatedRowModel,并传入完整数据集,让每个阶段处理全部行。服务端模式则设置 manualFiltering、manualSorting、manualPagination 为 true,并传入 rowCount,同时把受控的筛选、排序、分页状态放入请求或查询键中。

必要用法与限制:manual* 标志只表示绕过客户端处理,并不会发起后端请求,必须自行获取已处理的数据。manualPagination 假定传入数据已是目标页,需直接传入稳定的分页结果;若确实要本地切片,应使用框架的 memo/computed 派生并保持引用稳定。仅对已加载页做客户端排序无法得到数据库级顺序,因此分页场景下应同时开启 manualSorting。data 与 columns 是模型输入,应通过模块常量、状态或适配器的 memo/computed 保持引用稳定,避免反复失效模型甚至渲染循环。

API 发现:可查看 node_modules/@tanstack/table-core/dist/core/row-models/coreRowModelsFeature.utils.d.ts 了解流水线顺序,并查看各特性的 .types.d.ts 了解 manual* 契约。