A hook that helps you fetch a single resource.

The hook uses useQuery from @tanstack/react-query to fetch data and cache it. It accepts various query options and performs the API request to fetch the resource identified by the given id. The hook supports additional query parameters and custom API client parameters.

If a custom queryFn is provided, it will be used to perform the query; otherwise, the default API client method will be used. The queryKey is constructed based on the resource path, ID, and other optional parameters to ensure proper caching and refetching.

import { useGetOne } from 'react-query-manager';

type TData = { id: 1, name: 'Test' };
const PATH = 'users/{id}/messages';

const queryOne = useGetOne<typeof PATH, TData>({
resource: { path: PATH, params: { id: 1 } },
id: 123,
queryOptions: {
onSuccess: (data) => {
console.log('Data fetched successfully:', data);
},
},
params: { include: 'details' },
});