rembrembdocs

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.ts

ts

import { httpBatchLink } from '@trpc/client';

import { createTRPCNext } from '@trpc/next';

import type { AppRouter } from './server/routers/_app';

export const trpc = createTRPCNext<AppRouter>({

config() {

`return {`

  `links: [`

    `httpBatchLink({`

      `url: '/api/trpc',`

    `}),`

  `],`

  `abortOnUnmount: true,`

`};`

},

});

Per-request

You may also override this behavior at the request level.

client.ts

tsx

import { trpc } from './utils/trpc';

import { useRouter } from 'next/router';

function PostViewPage() {

const id = useRouter().query.id as string;

const postQuery = trpc.post.byId.useQuery({ id }, { trpc: { abortOnUnmount: true } });

return null;

}