@@ -5,7 +5,6 @@ import type {
55 AdditionalQueryHookOptions ,
66 Updater ,
77} from './types'
8- import { isUndefined } from './utils'
98
109interface CreateQueryOptions
1110 extends Omit < UseBaseQueryOptions , 'queryKey' | 'queryFn' | 'enabled' > ,
@@ -35,54 +34,39 @@ export function createBaseQuery(
3534 const getPrimaryKey = ( ) => primaryKey
3635
3736 const getKey = ( variables ?: any ) =>
38- isUndefined ( variables ) ? [ primaryKey ] : [ primaryKey , variables ]
37+ variables === undefined ? [ primaryKey ] : [ primaryKey , variables ]
3938
40- const useGeneratedQuery = ( {
41- variables : currVariables ,
42- ...currOptions
43- } : QueryBaseHookOptions = { } ) => {
44- const {
45- select : _select ,
46- variables : prevVariables ,
47- ...prevOptions
48- } = {
39+ const useGeneratedQuery = ( options : QueryBaseHookOptions ) => {
40+ const { enabled, variables, ...mergedOptions } = {
4941 ...defaultOptions ,
5042 ...useDefaultOptions ?.( ) ,
43+ ...options ,
5144 } as QueryBaseHookOptions
5245
53- const variables = isUndefined ( currVariables ) ? prevVariables : currVariables
54-
5546 const queryKey = getKey ( variables )
5647
57- const { enabled, ...mergedOptions } = {
58- ...prevOptions ,
59- ...currOptions ,
60- queryKeyHashFn,
61- queryFn,
62- queryKey,
63- }
64-
6548 const client = useQueryClient (
49+ // compatible with ReactQuery v4
6650 mergedOptions . context ? { context : mergedOptions . context } : queryClient
6751 )
6852
69- const setData = (
70- updater : Updater < any , any > ,
71- setDataOptions ?: SetDataOptions
72- ) => client . setQueryData ( queryKey , updater , setDataOptions )
73-
74- const result = useRQHook (
75- {
76- ...mergedOptions ,
77- enabled :
78- typeof enabled === 'function'
79- ? enabled ( client . getQueryData ( queryKey ) , variables )
80- : enabled ,
81- } ,
82- client
83- )
53+ const queryOptions = {
54+ ...mergedOptions ,
55+ enabled :
56+ typeof enabled === 'function'
57+ ? enabled ( client . getQueryData ( queryKey ) , variables )
58+ : enabled ,
59+ queryKeyHashFn,
60+ queryFn,
61+ queryKey,
62+ }
8463
85- return Object . assign ( result , { queryKey, setData } )
64+ return Object . assign ( useRQHook ( queryOptions , client ) , {
65+ queryKey,
66+ variables,
67+ setData : ( updater : Updater < any , any > , setDataOptions ?: SetDataOptions ) =>
68+ client . setQueryData ( queryKey , updater , setDataOptions ) ,
69+ } )
8670 }
8771
8872 return Object . assign ( useGeneratedQuery , {
0 commit comments