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.

information

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';
import { 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';
import { 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