본문 바로가기
버전: 11.x

로컬 링크

비공식 베타 번역

이 페이지는 PageTurner AI로 번역되었습니다(베타). 프로젝트 공식 승인을 받지 않았습니다. 오류를 발견하셨나요? 문제 신고 →

localLink은 HTTP를 거치지 않고 애플리케이션에서 직접 tRPC 프로시저 호출을 할 수 있게 해주는 종단 링크입니다.

정보

이 API는 새로운 기능이므로 unstable_ 접두사를 붙였지만 안전하게 사용하셔도 됩니다! 자세히 알아보기.

사용법

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

기능

  • HTTP 오버헤드 없이 직접 프로시저 호출

  • 쿼리, 뮤테이션, 구독에 대한 완벽한 지원

  • 자동 오류 처리 및 변환

  • 중단 신호(abort signal) 지원

  • 타입 안전한 컨텍스트 생성

옵션

localLink은 다음 옵션들을 받습니다:

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 인스턴스입니다.

createContext

각 프로시저 호출에 대한 컨텍스트를 생성하는 함수입니다. 각 요청마다 호출되며 컨텍스트 객체로 resolve되는 프로미스를 반환해야 합니다.

onError

프로시저 호출 중 오류 발생 시 호출되는 선택적 오류 핸들러로, 오류, 작업 유형, 경로, 입력, 컨텍스트를 인자로 받습니다.

transformer

데이터 직렬화/역직렬화를 위한 선택적 입출력 변환기입니다.

참고 사항

  • HTTP 없이 직접 프로시저 호출이 필요한 시나리오에서 사용 권장

  • 대부분의 클라이언트 측 애플리케이션에서는 httpLink나 다른 HTTP 기반 링크 사용 권장

  • 쿼리, 뮤테이션, 구독을 포함한 모든 tRPC 기능 지원

  • HTTP 기반 링크와 동일하게 오류 처리 및 변환 자동 수행