Aller au contenu principal
Version : 9.x

En-tête personnalisé

Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

L'option headers peut être personnalisée dans la configuration lors de l'utilisation de withTRPC dans Next.js ou de createClient dans React.js.

headers peut être soit un objet, soit une fonction. Dans le cas d'une fonction, elle sera appelée dynamiquement à chaque requête HTTP.

_app.tsx
ts
import type { AppRouter } from '@/server/routers/app';
import { withTRPC } from '@trpc/next';
import { AppType } from 'next/dist/shared/lib/utils';
export let token: string;
const MyApp: AppType = ({ Component, pageProps }) => {
return <Component {...pageProps} />;
};
export default withTRPC<AppRouter>({
config(config) {
return {
links: [
httpBatchLink({
/** headers are called on every request */
headers: () => {
return {
Authorization: token,
};
},
}),
],
};
},
})(MyApp);
_app.tsx
ts
import type { AppRouter } from '@/server/routers/app';
import { withTRPC } from '@trpc/next';
import { AppType } from 'next/dist/shared/lib/utils';
export let token: string;
const MyApp: AppType = ({ Component, pageProps }) => {
return <Component {...pageProps} />;
};
export default withTRPC<AppRouter>({
config(config) {
return {
links: [
httpBatchLink({
/** headers are called on every request */
headers: () => {
return {
Authorization: token,
};
},
}),
],
};
},
})(MyApp);

Exemple avec authentification

pages/auth.tsx
ts
const loginMut = trpc.useMutation(['auth.login'], {
onSuccess({ accessToken }) {
token = accessToken;
},
});
pages/auth.tsx
ts
const loginMut = trpc.useMutation(['auth.login'], {
onSuccess({ accessToken }) {
token = accessToken;
},
});

Le token peut être ce que vous souhaitez. Il dépend entièrement de vous qu'il s'agisse simplement d'une variable côté client dont vous mettez à jour la valeur lors d'un succès, ou que vous stockiez le token pour le récupérer depuis le local storage.