TypeScript Academy · Lekcja

Przegląd bezpiecznego typowo klienta tRPC

Zobacz, jak tRPC zapewnia bezpieczeństwo typów od końca do końca.

Lekcja 4 z 413 kroki

Przegląd bezpiecznego typowo klienta tRPC to bezpłatna lekcja TypeScript Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej TypeScript Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs TypeScript Academy zawiera 4 lekcji w sumie.

Witamy

tRPC zapewnia bezpieczeństwo typów TypeScript od końca do końca między serwerem a klientem bez generowania kodu.

Czym jest tRPC

tRPC pozwala wywoływać funkcje serwera z klienta przy pełnym bezpieczeństwie typów. Bez specyfikacji OpenAPI i bez codegen — tylko TypeScript.

Definicja routera serwera

Zdefiniuj typowane procedury na serwerze za pomocą routerów 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)),
});

Inferencja typów

Eksportuj typ routera, aby używać go po stronie klienta.
export type AppRouter = typeof appRouter;

Konfiguracja klienta

Utwórz typowanego klienta tRPC, używając typu routera serwera.
import { createTRPCProxyClient, httpBatchLink } from '@trpc/client';
const trpc = createTRPCProxyClient<AppRouter>({
  links: [httpBatchLink({ url: '/api/trpc' })],
});

Typowane wywołania klienta

Wywołuj procedury serwera z klienta z pełnym autouzupełnianiem.
const user = await trpc.getUser.query(1);
// user is typed as the return type of getUser

Walidacja danych wejściowych za pomocą Zod

Używaj schematów Zod jako walidatorów danych wejściowych tRPC.
t.procedure.input(z.object({ name: z.string(), email: z.string().email() })).mutation(...)

Mutacje

Zdefiniuj mutacje dla operacji modyfikujących dane.
const router = t.router({
  createUser: t.procedure.input(CreateUserSchema).mutation(({ input }) => db.create(input)),
});

Integracja z React Query

tRPC integruje się z React Query, zapewniając pobieranie danych z pełną inferencją typów.
const { data: user } = trpc.getUser.useQuery(1);
// data is typed automatically

Obsługa błędów w tRPC

tRPC udostępnia typowane błędy za pomocą TRPCError.
import { TRPCError } from '@trpc/server';
if (!user) throw new TRPCError({ code: 'NOT_FOUND', message: 'User not found' });

tRPC a REST i GraphQL

tRPC jest idealne dla projektów TypeScript obejmujących cały stos. REST i GraphQL lepiej sprawdzają się w publicznych interfejsach API oraz interfejsach używanych z różnymi językami.

Szybki test

Jak tRPC zapewnia bezpieczeństwo typów między serwerem a klientem?

Podsumowanie

Przegląd bezpiecznego typowo klienta tRPC: opanowano kluczowe koncepcje i wzorce.
Bezpłatny start

Ucz się TypeScript dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
101
Lekcje
352

Często zadawane pytania

Czy lekcja „Przegląd bezpiecznego typowo klienta tRPC” jest bezpłatna?

Tak — pełny tekst „Przegląd bezpiecznego typowo klienta tRPC” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu TypeScript Academy, przejdź na CoddyKit PRO. Kurs TypeScript Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Przegląd bezpiecznego typowo klienta tRPC”?

Zobacz, jak tRPC zapewnia bezpieczeństwo typów od końca do końca. Ćwiczysz TypeScript Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć TypeScript Academy?

Nie wymagamy żadnego doświadczenia. TypeScript Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Przegląd bezpiecznego typowo klienta tRPC”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji TypeScript Academy?

Tak. Każda lekcja TypeScript Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Typowanie odpowiedzi Fetch za pomocą generycznych opakowań
  2. Walidacja w czasie działania za pomocą Zod
  3. OpenAPI Codegen: automatycznie generowane typy
  4. Przegląd bezpiecznego typowo klienta tRPC
← Powrót do TypeScript Academy