SuperAPI AI 工具集

trpc

编程与开发

查看项目

更新于 10-16 06:46

技能介绍

用途:tRPC 用于构建端到端类型安全的 API,无需代码生成或运行时开销,主要面向 TypeScript 全栈项目。

安装:npm install @trpc/server @trpc/client @trpc/react-query @tanstack/react-query zod

主要能力:通过 initTRPC 创建实例,定义 context(可含数据库与用户会话)、router 与 procedure;区分 query 与 mutation;使用 Zod 校验输入;通过 middleware 实现鉴权、日志、限流;用 superjson 转换 Date、Map、Set 等类型;支持无限查询、乐观更新、服务端直调(createCaller)与 Server Actions;提供错误码(如 UNAUTHORIZED、FORBIDDEN、NOT_FOUND 等)。

使用方式:服务端建立 trpc.ts、context、routers 与根路由器 _app.ts,在 Next.js 的 app/api/trpc/[trpc]/route.ts 用 fetchRequestHandler 挂载,设置 endpoint 为 /api/trpc。客户端用 createTRPCReact 与 httpBatchLink 创建客户端,配合 React Query 的 Provider 提供实例,组件内以 trpc.posts.list.useQuery()、useMutation、useInfiniteQuery 等方式调用;修改后用 utils.x.invalidate() 刷新缓存。

适用场景:需要类型安全的全栈 API、前后端共享类型的项目,尤其是 Next.js 应用。

限制:资料中未提供官方定价、具体性能数据或兼容平台列表,暂未提供相关内容;代码示例以 Prisma 与 Next.js 为例,其他框架的适配情况资料未展开。