Hoppa till huvudinnehållet
Version: 11.x

Local Link

Inofficiell Beta-översättning

Denna sida har översatts av PageTurner AI (beta). Inte officiellt godkänd av projektet. Hittade du ett fel? Rapportera problem →

localLink är en avslutande länk som låter dig göra tRPC-proceduranrop direkt i din applikation utan att gå via HTTP.

info

Vi har prefixat detta med unstable_ eftersom det är ett nytt API, men det är säkert att använda! Läs mer.

Användning

tsx
import { createTRPCClient, unstable_localLink } from '@trpc/client';
import type { AppRouter } from '../server';
const client = createTRPCClient<AppRouter>({
links: [
unstable_localLink({
router: appRouter,
createContext: async () => {
// Create your context here
return {};
},
onError: (opts) => {
// Log errors here, similarly to how you would in an API route
console.error('Error:', opts.error);
},
}),
],
});
tsx
import { createTRPCClient, unstable_localLink } from '@trpc/client';
import type { AppRouter } from '../server';
const client = createTRPCClient<AppRouter>({
links: [
unstable_localLink({
router: appRouter,
createContext: async () => {
// Create your context here
return {};
},
onError: (opts) => {
// Log errors here, similarly to how you would in an API route
console.error('Error:', opts.error);
},
}),
],
});

Funktioner

  • Direkta proceduranrop utan HTTP-overhead

  • Fullt stöd för queries, mutations och subscriptions

  • Automatisk felhantering och transformation

  • Stöd för abort-signaler

  • Typesäker kontextskapande

Alternativ

localLink accepterar följande alternativ:

ts
type LocalLinkOptions<TRouter extends AnyRouter> = {
router: TRouter;
createContext: () => Promise<inferRouterContext<TRouter>>;
onError?: (opts: ErrorHandlerOptions<inferRouterContext<TRouter>>) => void;
} & TransformerOptions<inferClientTypes<TRouter>>;
ts
type LocalLinkOptions<TRouter extends AnyRouter> = {
router: TRouter;
createContext: () => Promise<inferRouterContext<TRouter>>;
onError?: (opts: ErrorHandlerOptions<inferRouterContext<TRouter>>) => void;
} & TransformerOptions<inferClientTypes<TRouter>>;

router

tRPC-router-instansen som ska användas för proceduranrop.

createContext

En funktion som skapar kontexten för varje proceduranrop. Anropas vid varje begäran och ska returnera ett promise som resolver till kontextobjektet.

onError

Valfri felhanterare som aktiveras vid fel under proceduranrop. Tar emot felet, operationstyp, sökväg, input och kontext.

transformer

Valfria input/output-transformatorer för serialisering/deserialisering av data.

Anteckningar

  • Rekommenderas för scenarier där direkta proceduranrop utan HTTP behövs

  • För de flesta klientsidiga applikationer bör httpLink eller andra HTTP-baserade länkar användas istället

  • Länken stöder alla tRPC-funktioner inklusive queries, mutations och subscriptions

  • Felhantering och transformation hanteras automatiskt, precis som med HTTP-baserade länkar