Skip to main content

trpc

Generic tRPC implementation guide. Works with any framework (Next.js, Express, Fastify, Hono, Bun) and any package manager (pnpm, npm, yarn, bun).

来源信息

仓库
DimitriGilbert/ai-skills
最近来源活动
2026年2月5日 14:35
检测到的 SKILL.md 语言
英语
星标
5
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
11 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
trpc
description
Generic tRPC implementation guide. Works with any framework (Next.js, Express, Fastify, Hono, Bun) and any package manager (pnpm, npm, yarn, bun).
# tRPC Quick Start ## Backend Router ```typescript import { initTRPC, TRPCError } from "@trpc/server"; import { z } from "zod"; export const t = initTRPC.create(); export const router = t.router; export const publicProcedure = t.procedure; export const myRouter = router({ getItem: publicProcedure .input(z.object({ id: z.string() })) .query(async ({ input }) => { return await getItem(input.id); }), updateItem: publicProcedure .input(z.object({ id: z.string(), data: z.any() })) .mutation(async ({ input }) => { return await updateItem(input.id, input.data); }), }); export const appRouter = router({ healthCheck: publicProcedure.query(() => "OK"), my: myRouter, }); export type AppRouter = typeof appRouter; ``` ## Frontend Client ```typescript import { createTRPCClient, httpBatchLink } from "@trpc/client"; import { createTRPCOptionsProxy } from "@trpc/tanstack-react-query"; import type { AppRouter } from "./path/to/router"; import { QueryClient } from "@tanstack/react-query"; export const queryClient = new QueryClient(); export const trpcClient = createTRPCClient<AppRouter>({ links: [httpBatchLink({ url: "/api/trpc" })], }); export const trpc = createTRPCOptionsProxy<AppRouter>({ client: trpcClient, queryClient, }); ``` ## Usage ```typescript const { data } = useQuery(trpc.my.getItem.queryOptions({ id })); const mutation = useMutation(trpc.my.updateItem.mutationOptions()); ``` ## Error Handling ```typescript throw new TRPCError({ code: "NOT_FOUND", message: "Resource not found", }); ``` ## Advanced - **Subscriptions**: See [SUBSCRIPTIONS.md](references/SUBSCRIPTIONS.md) - **Server Adapters**: See [ADAPTERS.md](references/ADAPTERS.md) - **Context**: See [CONTEXT.md](references/CONTEXT.md) - **Router Merging**: See [ROUTERS.md](references/ROUTERS.md) - **Middleware**: See [MIDDLEWARE.md](references/MIDDLEWARE.md) - **Frontend Patterns**: See [FRONTEND.md](references/FRONTEND.md) - **Client Links**: See [LINKS.md](references/LINKS.md) - **Schemas**: See [SCHEMAS.md](references/SCHEMAS.md) - **Client Errors**: See [CLIENT_ERRORS.md](references/CLIENT_ERRORS.md) - **Install**: See [INSTALL.md](references/INSTALL.md)
在 GitHub 查看