Aller au contenu principal
Version : 11.x

Lien local

Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

localLink est un lien terminal qui vous permet d'effectuer des appels de procédure tRPC directement dans votre application sans passer par HTTP.

info

Nous l'avons préfixé unstable_ car c'est une nouvelle API, mais vous pouvez l'utiliser en toute sécurité ! En savoir plus.

Utilisation

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

Fonctionnalités

  • Appels de procédure directs sans surcharge HTTP

  • Prise en charge complète des requêtes, mutations et abonnements

  • Gestion et transformation automatiques des erreurs

  • Prise en charge des signaux d'annulation

  • Création de contexte type-safe

Options

Le localLink accepte les options suivantes :

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

L'instance du routeur tRPC à utiliser pour les appels de procédure.

createContext

Fonction qui crée le contexte pour chaque appel de procédure. Appelée pour chaque requête, elle doit renvoyer une promesse résolue avec l'objet de contexte.

onError

Gestionnaire d'erreurs optionnel déclenché lors d'une erreur dans un appel de procédure. Reçoit l'erreur, le type d'opération, le chemin, l'entrée et le contexte.

transformer

Transformateurs d'entrée/sortie optionnels pour la sérialisation/désérialisation des données.

Remarques

  • Recommandé pour les scénarios nécessitant des appels de procédure directs sans HTTP

  • Pour la plupart des applications client, préférez le httpLink ou d'autres liens basés sur HTTP

  • Le lien prend en charge toutes les fonctionnalités tRPC (requêtes, mutations, abonnements)

  • La gestion des erreurs et transformation sont automatiques, comme avec les liens HTTP