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

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