0Pricing
TypeScript Academy · درس

نظرة عامة على عميل tRPC الآمن من ناحية الأنواع

تعرّفوا إلى كيفية تحقيق tRPC لأمان الأنواع من البداية إلى النهاية

نظرة عامة على عميل tRPC الآمن من ناحية الأنواع درس مجاني في TypeScript Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 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 العامة أو متعددة اللغات.

تحقق سريع

كيف يحقق tRPC أمان الأنواع بين الخادم والعميل؟

مراجعة

نظرة عامة على عميل tRPC الآمن من ناحية الأنواع: أتقنتم المفاهيم والأنماط الأساسية.

الأسئلة الشائعة

هل درس «نظرة عامة على عميل tRPC الآمن من ناحية الأنواع» مجاني؟

نعم — نص درس «نظرة عامة على عميل tRPC الآمن من ناحية الأنواع» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة TypeScript Academy، انتقل إلى CoddyKit PRO. تتضمن دورة TypeScript Academy 4 دروس في المجموع.

ماذا ستتعلم في «نظرة عامة على عميل tRPC الآمن من ناحية الأنواع»؟

تعرّفوا إلى كيفية تحقيق tRPC لأمان الأنواع من البداية إلى النهاية تتمرن على TypeScript Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ TypeScript Academy؟

لا تُشترط خبرة سابقة. TypeScript Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «نظرة عامة على عميل tRPC الآمن من ناحية الأنواع»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس TypeScript Academy هذا؟

نعم. كل درس في TypeScript Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. تحديد أنواع استجابات Fetch باستخدام أغلفة عامة
  2. التحقق وقت التشغيل باستخدام Zod
  3. توليد شيفرة OpenAPI: أنواع مولّدة تلقائيًا
  4. نظرة عامة على عميل tRPC الآمن من ناحية الأنواع
← العودة إلى TypeScript Academy