用途:在采用 TanStack 技术栈的前端项目中,按项目标准实现路由、数据加载与表单,统一决策规则与写法约定。
主要能力与规则:一、路由用 createFileRoute(...) 定义,配合 loader 预取关键数据,组件内通过 Route.useParams()、Route.useSearch() 读取参数与搜索条件。二、预取策略需有意识地选择:首屏必需数据用 await prefetchQuery(...),多个关键查询用 await Promise.all([...]),次要数据才用 void prefetchQuery(...),loader 需要返回数据时用 fetchQuery(...)。三、凡消费 void prefetchQuery 数据的组件,须用 useSuspenseQuery(...) 并用 <Suspense> 包裹;缺少边界视为正确性问题(存在 hydration 风险),不算可选优化。四、TRPC v11 搭配 TanStack Query:使用 useQuery、useSuspenseQuery、useMutation,查询/预取用 .queryOptions(...),变更用 .mutationOptions(...),缓存失效用 .queryKey(...);不要在 TRPC procedure 上调用 .useQuery() 或 .useMutation()。五、类型优先用 RouterInputs/RouterOutputs 推断,避免手写复制 TRPC 响应结构;仅 UI 视图模型、外部库契约或有意收窄聚合时才用局部显式类型。六、表单使用项目封装的 useAppForm 与 @/shared/forms/* 字段组件,显式传入 form/field,功能代码中避免直接用原生 TanStack Form 钩子。七、遵循前端约定:组件属性用 type Props = ...,绝对导入(@/...),跨包共享类型从 @project/common 导入,缓存失效通过 queryKey(...) 辅助函数。
使用方式:按决策规则执行,完整示例见技能内 references/ 目录(router-loader-examples.md、prefetch-patterns.md、trpc-v11-query-pattern.md、form-patterns.md、type-inference.md)。
适用场景:TanStack Router 路由、TRPC 数据加载/预取、前端类型推断与表单处理的实现工作。限制:具体安装命令、版本要求、收费与效果数据暂未提供。