ローカルリンク
非公式ベータ版翻訳
このページは 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オーバーヘッドなしの直接プロシージャコール
-
クエリ、ミューテーション、サブスクリプションの完全サポート
-
自動エラーハンドリングとデータ変換
-
アボートシグナル対応
-
タイプセーフなコンテキスト生成
オプション
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ルーターインスタンス。
createContext
各プロシージャコール用のコンテキストを生成する関数。リクエストごとに呼び出され、コンテキストオブジェクトに解決されるPromiseを返す必要があります。
onError
プロシージャコール中にエラーが発生した際に呼ばれるオプションのエラーハンドラ。エラー、操作タイプ、パス、入力、コンテキストを受け取ります。
transformer
データのシリアライゼーション/デシリアライゼーション用のオプション入出力トランスフォーマー。
注意事項
-
HTTP経由せず直接プロシージャコールが必要なシナリオでの使用を推奨
-
ほとんどのクライアントサイドアプリケーションでは
httpLinkなどのHTTPベースリンクを使用すべき -
クエリ、ミューテーション、サブスクリプションを含む全tRPC機能をサポート
-
エラーハンドリングとデータ変換はHTTPベースリンクと同様に自動処理