Releases: HuolalaTech/react-query-kit
Releases ยท HuolalaTech/react-query-kit
2.0.8
Changes
feat: automatically infer TQueryData by TQueryKey
feat: include TError in the return type of getOptions
feat: using useSuspenseQuery instead of useQuery in v5
Benefit from ReactQuery v5
Automatically infer TQueryData from TQueryKey
const useTest = createQuery({
primaryKey: 'test',
queryFn: () => `string`,
})
const data = queryClient.getQueryData(useTest.getKey())
// ^? const data: string | undefinedRegister a global error
declare module '@tanstack/react-query' {
interface Register {
defaultError: AxiosError
}
}
const useTest = createQuery({
primaryKey: 'test',
queryFn: () => `string`,
})
const { error } = useTest()
// ^? const error: AxiosError | null2.0.7
2.0.6
2.0.6-beta.0
Changes
feat: replace suspense query with option suspense
docs: remove suspense query
BREAKING CHANGES
Removed createSuspenseQuery and createSuspenseInfiniteQuery and use option suspense instead.
Before:
const useUser = createSuspenseQuery<Response>({
// ...
})After
const useUser = createQuery<Response>({
// ...
})
const { data, error } = useUser({ suspense: true }) // data: Response, error: nullSee discussion #38
2.0.5
2.0.4
2.0.3
feat: export all of types
fix: remove type "DefaultError" imported from React Query
2.0.2
2.0.1
- feat: export type
CreateMutationOptions - feat: add new typeUtil
inferError
2.0.0
Changes
BREAKING CHANGES
All built-in APIs(such as useDefaultOptions, functional enabled and setData) are no longer support. Please use middleware instead.
Before:
const useUser = createQuery<Response, Variables>({
// ...
enabled: (data) => !data
})After 2.0.0
const disabledIfHasData: Middleware<QueryHook<Response, Variables>> = useQueryNext => {
return options => {
const client = useQueryClient()
const hasData = () =>
!!client.getQueryData(useUser.getKey(options.variables))
return useQueryNext({
...options,
enabled: options.enabled ?? !hasData(),
})
}
}
const useUser = createQuery<Response, Variables>({
// ...
use: [disabledIfHasData],
})