0Pricing
TypeScript Academy · บทเรียน

ภาพรวมไคลเอนต์ tRPC ที่ปลอดภัยด้านชนิด

ดูวิธีที่ tRPC ทำให้ชนิดปลอดภัยตั้งแต่ต้นทางถึงปลายทาง

ภาพรวมไคลเอนต์ tRPC ที่ปลอดภัยด้านชนิด เป็นบทเรียน TypeScript Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน TypeScript Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส TypeScript Academy มีบทเรียนทั้งหมด 4 บทเรียน

ยินดีต้อนรับ

tRPC ช่วยให้เซิร์ฟเวอร์และไคลเอ็นต์มีความปลอดภัยของชนิด TypeScript ตั้งแต่ต้นทางถึงปลายทางโดยไม่ต้องสร้างโค้ด

tRPC คืออะไร

tRPC ช่วยให้คุณเรียกใช้ฟังก์ชันบนเซิร์ฟเวอร์จากไคลเอ็นต์ได้อย่างปลอดภัยตามชนิดอย่างครบถ้วน ไม่ต้องใช้ข้อกำหนด OpenAPI ไม่ต้องใช้ codegen ใช้เพียง TypeScript

การกำหนดเราเตอร์ฝั่งเซิร์ฟเวอร์

กำหนดโพรซีเยอร์ที่มีชนิดกำกับบนเซิร์ฟเวอร์โดยใช้เราเตอร์ tRPC
import { initTRPC } from '@trpc/server';
const t = initTRPC.create();
const appRouter = t.router({
  getUser: t.procedure.input(z.number()).query(({ input }) => db.getUser(input)),
});

การอนุมานชนิด

ส่งออกชนิดของเราเตอร์เพื่อใช้งานบนไคลเอ็นต์
export type AppRouter = typeof appRouter;

การตั้งค่าไคลเอ็นต์

สร้างไคลเอ็นต์ tRPC ที่มีชนิดกำกับโดยใช้ชนิดเราเตอร์ของเซิร์ฟเวอร์
import { createTRPCProxyClient, httpBatchLink } from '@trpc/client';
const trpc = createTRPCProxyClient<AppRouter>({
  links: [httpBatchLink({ url: '/api/trpc' })],
});

การเรียกใช้ไคลเอ็นต์แบบมีชนิด

เรียกใช้โพรซีเยอร์ของเซิร์ฟเวอร์จากไคลเอ็นต์พร้อมระบบเติมโค้ดอัตโนมัติอย่างครบถ้วน
const user = await trpc.getUser.query(1);
// user is typed as the return type of getUser

การตรวจสอบอินพุตด้วย Zod

ใช้สคีมา Zod เป็นตัวตรวจสอบอินพุตของ tRPC
t.procedure.input(z.object({ name: z.string(), email: z.string().email() })).mutation(...)

การกลายพันธุ์

กำหนดการกลายพันธุ์สำหรับการดำเนินการที่แก้ไขข้อมูล
const router = t.router({
  createUser: t.procedure.input(CreateUserSchema).mutation(({ input }) => db.create(input)),
});

การผสานรวมกับ React Query

tRPC ผสานรวมกับ React Query เพื่อดึงข้อมูลพร้อมการอนุมานชนิดอย่างครบถ้วน
const { data: user } = trpc.getUser.useQuery(1);
// data is typed automatically

การจัดการข้อผิดพลาดใน tRPC

tRPC มีข้อผิดพลาดที่มีชนิดกำกับผ่าน TRPCError
import { TRPCError } from '@trpc/server';
if (!user) throw new TRPCError({ code: 'NOT_FOUND', message: 'User not found' });

tRPC เทียบกับ REST และ GraphQL

tRPC เหมาะสำหรับโปรเจกต์ TypeScript แบบฟูลสแตก ส่วน REST และ GraphQL เหมาะกว่าสำหรับ API สาธารณะหรือ API ที่ใช้ข้ามภาษา

ตรวจสอบสั้น ๆ

tRPC ทำให้เซิร์ฟเวอร์และไคลเอ็นต์ปลอดภัยตามชนิดได้อย่างไร

สรุปภาพรวมไคลเอ็นต์ tRPC แบบปลอดภัยตามชนิด

ภาพรวมไคลเอ็นต์ tRPC แบบปลอดภัยตามชนิด: คุณเชี่ยวชาญแนวคิดสำคัญและรูปแบบการใช้งานแล้ว

คำถามที่พบบ่อย

บทเรียน “ภาพรวมไคลเอนต์ tRPC ที่ปลอดภัยด้านชนิด” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ภาพรวมไคลเอนต์ tRPC ที่ปลอดภัยด้านชนิด” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส TypeScript Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส TypeScript Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ภาพรวมไคลเอนต์ tRPC ที่ปลอดภัยด้านชนิด”

ดูวิธีที่ tRPC ทำให้ชนิดปลอดภัยตั้งแต่ต้นทางถึงปลายทาง คุณปฏิบัติ TypeScript Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน TypeScript Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน TypeScript Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “ภาพรวมไคลเอนต์ tRPC ที่ปลอดภัยด้านชนิด” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน TypeScript Academy นี้ได้ไหม

ได้ บทเรียน TypeScript Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การระบุชนิดการตอบกลับของ Fetch ด้วยตัวห่อหุ้มเจเนอริก
  2. การตรวจสอบขณะทำงานด้วย Zod
  3. การสร้างโค้ด OpenAPI: ชนิดที่สร้างโดยอัตโนมัติ
  4. ภาพรวมไคลเอนต์ tRPC ที่ปลอดภัยด้านชนิด
← กลับไปที่ TypeScript Academy