メインコンテンツにスキップ
バージョン: 11.x

プロシージャ呼び出しの中止

デフォルトでは、tRPC は React Query を介してリクエストをキャンセルしません。この挙動を選択する場合、設定で abortOnUnmount を提供できます。

@tanstack/react-query はクエリの中止のみをサポートします。

グローバルに

client.ts
ts
// @filename: utils.ts
import { createTRPCReact } from '@trpc/react-query';
 
export const trpc = createTRPCReact<AppRouter>({
abortOnUnmount: true,
});
 
trpc.createClient({
// ...
});
client.ts
ts
// @filename: utils.ts
import { createTRPCReact } from '@trpc/react-query';
 
export const trpc = createTRPCReact<AppRouter>({
abortOnUnmount: true,
});
 
trpc.createClient({
// ...
});

リクエストごと

また、クエリのレベルでこの挙動をオーバーライドすることもできます。

pages/post/[id].tsx
tsx
import { trpc } from '../utils/trpc';
 
function PostViewPage() {
const { query } = useRouter();
const postQuery = trpc.post.byId.useQuery(
{ id: query.id },
{ trpc: { abortOnUnmount: true } }
);
 
// ...
}
pages/post/[id].tsx
tsx
import { trpc } from '../utils/trpc';
 
function PostViewPage() {
const { query } = useRouter();
const postQuery = trpc.post.byId.useQuery(
{ id: query.id },
{ trpc: { abortOnUnmount: true } }
);
 
// ...
}