Saltar al contenido principal
Versión: 11.x

Enlace Local

Traducción Beta No Oficial

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

localLink es un enlace terminador que te permite realizar llamadas a procedimientos tRPC directamente en tu aplicación sin pasar por HTTP.

información

Hemos prefijado esto como unstable_ porque es una nueva API, ¡pero puedes usarlo con seguridad! Lee más.

Uso

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);
},
}),
],
});

Características

  • Llamadas directas a procedimientos sin sobrecarga HTTP

  • Soporte completo para consultas, mutaciones y suscripciones

  • Manejo y transformación automáticos de errores

  • Soporte para señales de aborto (abort signals)

  • Creación de contexto con seguridad de tipos

Opciones

El localLink acepta las siguientes opciones:

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

La instancia del router tRPC que se usará para las llamadas a procedimientos.

createContext

Función que crea el contexto para cada llamada a procedimiento. Se invoca para cada solicitud y debe devolver una promesa que resuelva al objeto de contexto.

onError

Manejador de errores opcional que se llama cuando ocurre un error durante una llamada a procedimiento. Recibe el error, tipo de operación, ruta, entrada y contexto.

transformer

Transformadores opcionales de entrada/salida para serialización/deserialización de datos.

Notas

  • Se recomienda usar este enlace en escenarios que requieran llamadas directas a procedimientos sin HTTP

  • Para la mayoría de aplicaciones cliente, deberías usar httpLink u otros enlaces basados en HTTP

  • El enlace soporta todas las funcionalidades de tRPC incluyendo consultas, mutaciones y suscripciones

  • El manejo de errores y transformación se gestionan automáticamente, igual que en enlaces basados en HTTP