Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | 8070x 10837x 10837x 960x 960x 960x 10837x 10837x 10837x | import React from "react";
import { QueryClientProvider } from "@tanstack/react-query";
import type { QueryClientsRecord } from "~app/contexts/query-clients-context";
import {
QueryClientsContext,
SELF_QUERY_CLIENT_KEY,
getQueryClient,
} from "~app/contexts/query-clients-context";
type Props = {
queryClientKey: keyof QueryClientsRecord;
};
export const QueryProvider: React.FC<React.PropsWithChildren<Props>> = ({
queryClientKey,
children,
}) => {
const [queryClients, setQueryClients] = React.use(QueryClientsContext);
React.useEffect(() => {
setQueryClients((prevQueryClients) => {
Eif (prevQueryClients[queryClientKey]) {
return prevQueryClients;
}
return {
...prevQueryClients,
[queryClientKey]: getQueryClient(),
};
});
}, [queryClientKey, setQueryClients]);
const queryClient = React.useMemo(
() => queryClients[queryClientKey] || queryClients[SELF_QUERY_CLIENT_KEY],
[queryClientKey, queryClients],
);
return (
<QueryClientProvider client={queryClient}>{children}</QueryClientProvider>
);
};
|