@@ -131,8 +131,16 @@ export function useQuery<
131
131
132
132
const [ responseId , setResponseId ] = useState ( 0 ) ;
133
133
134
- const currentResult = useMemo < QueryHookState < TData > > (
134
+ const currentResult = useMemo < QueryHookResult < TData , TVariables > > (
135
135
( ) => {
136
+ const helpers = {
137
+ fetchMore : observableQuery . fetchMore . bind ( observableQuery ) ,
138
+ refetch : observableQuery . refetch . bind ( observableQuery ) ,
139
+ startPolling : observableQuery . startPolling . bind ( observableQuery ) ,
140
+ stopPolling : observableQuery . stopPolling . bind ( observableQuery ) ,
141
+ updateQuery : observableQuery . updateQuery . bind ( observableQuery ) ,
142
+ } ;
143
+
136
144
const result = observableQuery . currentResult ( ) ;
137
145
138
146
// return the old result data when there is an error
@@ -144,7 +152,19 @@ export function useQuery<
144
152
} ;
145
153
}
146
154
155
+ if ( shouldSkip ) {
156
+ // Taken from https://github.com/apollographql/react-apollo/blob/5cb63b3625ce5e4a3d3e4ba132eaec2a38ef5d90/src/Query.tsx#L376-L381
157
+ return {
158
+ ...helpers ,
159
+ data : undefined ,
160
+ error : undefined ,
161
+ loading : false ,
162
+ networkStatus : undefined ,
163
+ } ;
164
+ }
165
+
147
166
return {
167
+ ...helpers ,
148
168
data,
149
169
error :
150
170
result . errors && result . errors . length > 0
@@ -193,25 +213,6 @@ export function useQuery<
193
213
194
214
ensureSupportedFetchPolicy ( suspend , fetchPolicy ) ;
195
215
196
- const helpers = {
197
- fetchMore : observableQuery . fetchMore . bind ( observableQuery ) ,
198
- refetch : observableQuery . refetch . bind ( observableQuery ) ,
199
- startPolling : observableQuery . startPolling . bind ( observableQuery ) ,
200
- stopPolling : observableQuery . stopPolling . bind ( observableQuery ) ,
201
- updateQuery : observableQuery . updateQuery . bind ( observableQuery ) ,
202
- } ;
203
-
204
- if ( shouldSkip ) {
205
- // Taken from https://github.com/apollographql/react-apollo/blob/5cb63b3625ce5e4a3d3e4ba132eaec2a38ef5d90/src/Query.tsx#L376-L381
206
- return {
207
- ...helpers ,
208
- data : undefined ,
209
- error : undefined ,
210
- loading : false ,
211
- networkStatus : undefined ,
212
- } ;
213
- }
214
-
215
216
if ( currentResult . partial ) {
216
217
if ( suspend ) {
217
218
// throw a promise - use the react suspense to wait until the data is
@@ -224,7 +225,7 @@ export function useQuery<
224
225
}
225
226
}
226
227
227
- return { ... helpers , ... currentResult } ;
228
+ return currentResult ;
228
229
}
229
230
230
231
function ensureSupportedFetchPolicy (
0 commit comments