关于 core
core 是介绍 TanStack Table 无头表格模型、状态和功能 API 的技能,面向构建或扩展表格的开发者。内容涵盖稳定输入与 TypeScript 类型推断。
主要功能
- 01配置无头行模型
- 02管理状态和已注册功能
- 03保留列访问器类型
- 04查找已安装的 API 与声明
适用场景
- 01添加或修复表格功能
- 02诊断缺失的 API 或状态
- 03迁移现有的 v8 表格
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ tanstack/ table --skill core安装后在 Claude Code 中输入/core确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/api-not-found.mdrows.mdtypescript.md详细介绍
TanStack Table 核心
TanStack Table 负责协调状态和行处理。渲染器负责标记、样式、语义和交互可访问性。在 UI 代码中使用已安装的框架适配器;在与框架无关的集成中使用 constructTable。
最小设置
import {
constructTable,
createColumnHelper,
tableFeatures,
} from '@tanstack/table-core'
import { storeReactivityBindings } from '@tanstack/table-core/store-reactivity-bindings'
type Person = { id: string; name: string }
const features = tableFeatures({
coreReactivityFeature: storeReactivityBindings(),
})
const helper = createColumnHelper<typeof features, Person>()
const columns = helper.columns([helper.accessor('name', { header: 'Name' })])
const data: Person[] = [{ id: '1', name: 'Ada' }]
const table = constructTable({
features,
columns,
data,
getRowId: (row) => row.id,
})
for (const row of table.getRowModel().rows) {
console.log(row.getAllCells().map((cell) => cell.getValue()))
}
核心约束
- 核心行模型会自动提供。只有注册了相应功能后,才会提供可选 API 和状态。
- 在有意义的变更之间保持
features、data和columns稳定。使用适配器的 memo/computed 机制派生变化中的数组;内联的.map()、.filter()、列工厂或新建的[]回退值会使模型处理失效,并可能导致渲染循环。 - 使用
createColumnHelper和helper.columns()保留访问器值类型。需要显式边界时,从具体注册表派生功能类型。 - 在行、单元格、列和表头实例上调用其方法。使用
row.getValue('name')或调用它的回调;解构const { getValue } = row会丢失它的this接收者。 - 渲染最终的
table.getRowModel().rows。表格对象本身不是 DOM 组件。
阅读与当前任务相关的内容
| 任务 | 阅读内容 |
|---|---|
| 添加或修复可选功能、处理插槽或前置条件 | 功能架构,然后阅读相关功能参考 |
| 选择状态归属、初始化或重置状态 | 共享状态 |
修复 ColumnDef 推断、可复用选项或作用域 meta | TypeScript 推断 |
| 诊断缺失的导出、选项、状态切片或实例方法 | API 发现 |
| 实现行号、标识或显示索引行为 | 行 |
| 实现超出内置功能的行为或类型化 meta | 自定义功能 |
| 迁移现有的 v8 表格 | 迁移审查 |
对于框架构建和渲染,请使用 intent load <package>#getting-started 加载已安装软件包的 getting-started 技能,并将 <package> 替换为实际的适配器软件包,例如 @tanstack/react-table。对于响应式读取或受控连接,请直接加载该软件包的 table-state 技能。
已安装 API 发现
从 node_modules/@tanstack/table-core/dist/index.d.ts 开始,并沿着导出的声明查找。适配器声明布局和缺失 API 的诊断方法见 API 发现;如果预期的导出或声明路径不存在,请阅读该文档。
评论
支持 Markdown