로컬 링크
비공식 베타 번역
이 페이지는 PageTurner AI로 번역되었습니다(베타). 프로젝트 공식 승인을 받지 않았습니다. 오류를 발견하셨나요? 문제 신고 →
localLink은 HTTP를 거치지 않고 애플리케이션에서 직접 tRPC 프로시저 호출을 할 수 있게 해주는 종단 링크입니다.
정보
이 API는 새로운 기능이므로 unstable_ 접두사를 붙였지만 안전하게 사용하셔도 됩니다! 자세히 알아보기.
사용법
tsximport { 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 herereturn {};},onError: (opts) => {// Log errors here, similarly to how you would in an API routeconsole.error('Error:', opts.error);},}),],});
tsximport { 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 herereturn {};},onError: (opts) => {// Log errors here, similarly to how you would in an API routeconsole.error('Error:', opts.error);},}),],});
기능
-
HTTP 오버헤드 없이 직접 프로시저 호출
-
쿼리, 뮤테이션, 구독에 대한 완벽한 지원
-
자동 오류 처리 및 변환
-
중단 신호(abort signal) 지원
-
타입 안전한 컨텍스트 생성
옵션
localLink은 다음 옵션들을 받습니다:
tstype LocalLinkOptions<TRouter extends AnyRouter> = {router: TRouter;createContext: () => Promise<inferRouterContext<TRouter>>;onError?: (opts: ErrorHandlerOptions<inferRouterContext<TRouter>>) => void;} & TransformerOptions<inferClientTypes<TRouter>>;
tstype 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 기반 링크와 동일하게 오류 처리 및 변환 자동 수행