Configurar un cliente tRPC
Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
1. Instalar la biblioteca de cliente tRPC
Utiliza tu gestor de paquetes preferido para instalar @trpc/client, y también instala @trpc/server que contiene algunos tipos necesarios.
- npm
- yarn
- pnpm
- bun
bashnpm install @trpc/client @trpc/server
bashnpm install @trpc/client @trpc/server
bashyarn add @trpc/client @trpc/server
bashyarn add @trpc/client @trpc/server
bashpnpm add @trpc/client @trpc/server
bashpnpm add @trpc/client @trpc/server
bashbun add @trpc/client @trpc/server
bashbun add @trpc/client @trpc/server
2. Importa tu App Router
Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
Importa el tipo AppRouter en la aplicación cliente. Este tipo contiene la estructura completa de tu API.
tsimport type {AppRouter } from '../server/router';
tsimport type {AppRouter } from '../server/router';
Al usar import type aseguras que la referencia será eliminada durante la compilación, evitando importar código del servidor en el cliente accidentalmente. Para más información, consulta la documentación de TypeScript.
3. Inicializa el cliente tRPC
Crea un cliente tRPC con el método createTRPCProxyClient y añade un array links con un enlace terminador que apunte a tu API. Para aprender más sobre los enlaces de tRPC, haz clic aquí.
client.tstsimport { createTRPCProxyClient, httpBatchLink } from '@trpc/client';import type { AppRouter } from '../path/to/server/trpc';const client = createTRPCProxyClient<AppRouter>({links: [httpBatchLink({url: 'http://localhost:3000/trpc',// You can pass any HTTP headers you wish hereasync headers() {return {authorization: getAuthCookie(),};},}),],});
client.tstsimport { createTRPCProxyClient, httpBatchLink } from '@trpc/client';import type { AppRouter } from '../path/to/server/trpc';const client = createTRPCProxyClient<AppRouter>({links: [httpBatchLink({url: 'http://localhost:3000/trpc',// You can pass any HTTP headers you wish hereasync headers() {return {authorization: getAuthCookie(),};},}),],});
4. Usa el cliente tRPC
Internamente, esto crea un Proxy de JavaScript tipado que te permite interactuar con tu API tRPC de manera completamente segura en cuanto a tipos:
client.tstsconst bilbo = await client.getUser.query('id_bilbo');// => { id: 'id_bilbo', name: 'Bilbo' };const frodo = await client.createUser.mutate({ name: 'Frodo' });// => { id: 'id_frodo', name: 'Frodo' };
client.tstsconst bilbo = await client.getUser.query('id_bilbo');// => { id: 'id_bilbo', name: 'Bilbo' };const frodo = await client.createUser.mutate({ name: 'Frodo' });// => { id: 'id_frodo', name: 'Frodo' };
¡Estás listo!