Aborting Procedure Calls
By default, tRPC does not cancel requests on unmount. If you want to opt into this behavior, you can provide abortOnUnmount in your configuration callback.
Globally
client.tstsimport {httpBatchLink } from '@trpc/client';import {createTRPCNext } from '@trpc/next';import type {AppRouter } from './server/routers/_app';export consttrpc =createTRPCNext <AppRouter >({config () {return {links : [httpBatchLink ({url : '/api/trpc',}),],abortOnUnmount : true,};},});
client.tstsimport {httpBatchLink } from '@trpc/client';import {createTRPCNext } from '@trpc/next';import type {AppRouter } from './server/routers/_app';export consttrpc =createTRPCNext <AppRouter >({config () {return {links : [httpBatchLink ({url : '/api/trpc',}),],abortOnUnmount : true,};},});
Per-request
You may also override this behavior at the request level.
client.tstsximport {trpc } from './utils/trpc';import {useRouter } from 'next/router';functionPostViewPage () {constid =useRouter ().query .id as string;constpostQuery =trpc .post .byId .useQuery ({id }, {trpc : {abortOnUnmount : true } });return null;}
client.tstsximport {trpc } from './utils/trpc';import {useRouter } from 'next/router';functionPostViewPage () {constid =useRouter ().query .id as string;constpostQuery =trpc .post .byId .useQuery ({id }, {trpc : {abortOnUnmount : true } });return null;}