TTMT.ManageWebGUI/src/hooks/useQueryData.ts

26 lines
494 B
TypeScript

import { useQuery } from "@tanstack/react-query";
import axios from "axios";
type QueryDataOptions<T> = {
queryKey: string[];
url: string;
params?: Record<string, any>;
select?: (data: any) => T;
enabled?: boolean;
};
export function useQueryData<T = any>({
queryKey,
url,
params,
select,
enabled = true,
}: QueryDataOptions<T>) {
return useQuery<T>({
queryKey,
queryFn: () => axios.get(url, { params }).then((res) => res.data),
select,
enabled,
});
}