ローカルリンク
非公式ベータ版翻訳
このページは PageTurner AI で翻訳されました(ベータ版)。プロジェクト公式の承認はありません。 エラーを見つけましたか? 問題を報告 →
localLinkはターミネートリンクで、HTTP経由せずにアプリケーション内で直接tRPCプロシージャコールを実行できます。
情報
新規APIのためunstable_プレフィックスを付けていますが、安全に利用できます!詳細はこちら
使用方法
tsximport {createTRPCClient ,unstable_localLink } from '@trpc/client';import type {AppRouter } from './server';import {appRouter } from './server';constclient =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';import {appRouter } from './server';constclient =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は以下のオプションを受け付けます:
tstypeLocalLinkOptions <TRouter extendsAnyRouter > = {router :TRouter ;createContext : () =>Promise <inferRouterContext <TRouter >>;onError ?: (opts :ErrorHandlerOptions <inferRouterContext <TRouter >>) => void;} &TransformerOptions <inferClientTypes <TRouter >>;
tstypeLocalLinkOptions <TRouter extendsAnyRouter > = {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ベースリンクと同様に自動処理