mirror of
https://github.com/langgenius/dify.git
synced 2026-08-29 11:49:06 +08:00
33 lines
933 B
TypeScript
33 lines
933 B
TypeScript
'use client'
|
|
|
|
import type { QueryClient } from '@tanstack/react-query'
|
|
import type { ReactNode } from 'react'
|
|
import { QueryClientProvider, QueryErrorResetBoundary } from '@tanstack/react-query'
|
|
import { queryClientAtom } from 'jotai-tanstack-query'
|
|
import { useHydrateAtoms } from 'jotai/react/utils'
|
|
import { getQueryClient } from './get-query-client'
|
|
|
|
export function TanStackQueryProvider({ children }: { children: ReactNode }) {
|
|
const queryClient = getQueryClient()
|
|
|
|
return (
|
|
<QueryClientProvider client={queryClient}>
|
|
<QueryErrorResetBoundary>
|
|
<JotaiQueryClientHydrator queryClient={queryClient}>{children}</JotaiQueryClientHydrator>
|
|
</QueryErrorResetBoundary>
|
|
</QueryClientProvider>
|
|
)
|
|
}
|
|
|
|
function JotaiQueryClientHydrator({
|
|
children,
|
|
queryClient,
|
|
}: {
|
|
children: ReactNode
|
|
queryClient: QueryClient
|
|
}) {
|
|
useHydrateAtoms(new Map([[queryClientAtom, queryClient]]))
|
|
|
|
return children
|
|
}
|