TRPCClientProvider
This commit is contained in:
37
packages/webui/src/trpc/TRPCClientProvider.tsx
Normal file
37
packages/webui/src/trpc/TRPCClientProvider.tsx
Normal 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>
|
||||||
|
)
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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>()
|
||||||
|
|||||||
Reference in New Issue
Block a user