umami/src/components/hooks/useFilterQuery.ts
2023-10-15 15:52:34 -07:00

28 lines
621 B
TypeScript

import { useState } from 'react';
import { useApi } from 'components/hooks/useApi';
import { UseQueryOptions } from '@tanstack/react-query';
export function useFilterQuery(key: any[], fn, options?: UseQueryOptions) {
const [params, setParams] = useState({
query: '',
page: 1,
});
const { useQuery } = useApi();
const { data, ...other } = useQuery([...key, params], fn.bind(null, params), options);
return {
result: data as {
page: number;
pageSize: number;
count: number;
data: any[];
},
...other,
params,
setParams,
};
}
export default useFilterQuery;