TRPCClientProvider

This commit is contained in:
Julien Valverdé
2024-07-07 02:50:55 +02:00
parent 6e429060d5
commit 60b27fd8bc
2 changed files with 38 additions and 1 deletions

View File

@@ -0,0 +1,37 @@
import { QueryClient, QueryClientProvider } from "@tanstack/react-query"
import { httpBatchLink } from "@trpc/client"
import { ReactNode, useState } from "react"
import { trpc } from "./trpc"
export interface TRPCClientProviderProps {
children: ReactNode
}
export function TRPCClientProvider({ children }: TRPCClientProviderProps) {
const [queryClient] = useState(new QueryClient())
const [trpcClient] = useState(trpc.createClient({
links: [
httpBatchLink({
url: "http://localhost:8080/rpc",
headers: async () => ({}),
})
]
}))
return (
<trpc.Provider
client={trpcClient}
queryClient={queryClient}
>
<QueryClientProvider client={queryClient}>
{children}
</QueryClientProvider>
</trpc.Provider>
)
}

View File

@@ -2,4 +2,4 @@ import type { Router } from "@todo-tests/common/rpc"
import { createTRPCReact } from "@trpc/react-query" import { createTRPCReact } from "@trpc/react-query"
export const trpc = createTRPCReact<Router>() export const trpc: ReturnType<typeof createTRPCReact<Router>> = createTRPCReact<Router>()