File tree 2 files changed +41
-5
lines changed
packages/toolkit/src/query
2 files changed +41
-5
lines changed Original file line number Diff line number Diff line change @@ -1535,16 +1535,17 @@ export function buildHooks<Definitions extends EndpointDefinitions>({
1535
1535
const { endpointName } = lastResult
1536
1536
const endpointDefinition = context . endpointDefinitions [ endpointName ]
1537
1537
if (
1538
+ queryArgs !== skipToken &&
1538
1539
serializeQueryArgs ( {
1539
1540
queryArgs : lastResult . originalArgs ,
1540
1541
endpointDefinition,
1541
1542
endpointName,
1542
1543
} ) ===
1543
- serializeQueryArgs ( {
1544
- queryArgs,
1545
- endpointDefinition,
1546
- endpointName,
1547
- } )
1544
+ serializeQueryArgs ( {
1545
+ queryArgs,
1546
+ endpointDefinition,
1547
+ endpointName,
1548
+ } )
1548
1549
)
1549
1550
lastResult = undefined
1550
1551
}
Original file line number Diff line number Diff line change @@ -2216,6 +2216,41 @@ describe('hooks tests', () => {
2216
2216
expect ( totalRenderCount ( ) ) . toBe ( 3 )
2217
2217
expect ( numRequests ) . toBe ( 1 )
2218
2218
} )
2219
+
2220
+ test ( 'useInfiniteQuery hook does not fetch when the skip token is set' , async ( ) => {
2221
+ function Pokemon ( ) {
2222
+ const [ value , setValue ] = useState ( 0 )
2223
+
2224
+ const { isFetching } = pokemonApi . useGetInfinitePokemonInfiniteQuery (
2225
+ 'fire' ,
2226
+ {
2227
+ skip : value < 1 ,
2228
+ } ,
2229
+ )
2230
+ getRenderCount = useRenderCounter ( )
2231
+
2232
+ return (
2233
+ < div >
2234
+ < div data-testid = "isFetching" > { String ( isFetching ) } </ div >
2235
+ < button onClick = { ( ) => setValue ( ( val ) => val + 1 ) } >
2236
+ Increment value
2237
+ </ button >
2238
+ </ div >
2239
+ )
2240
+ }
2241
+
2242
+ render ( < Pokemon /> , { wrapper : storeRef . wrapper } )
2243
+ expect ( getRenderCount ( ) ) . toBe ( 1 )
2244
+
2245
+ await waitFor ( ( ) =>
2246
+ expect ( screen . getByTestId ( 'isFetching' ) . textContent ) . toBe ( 'false' ) ,
2247
+ )
2248
+ fireEvent . click ( screen . getByText ( 'Increment value' ) )
2249
+ await waitFor ( ( ) =>
2250
+ expect ( screen . getByTestId ( 'isFetching' ) . textContent ) . toBe ( 'true' ) ,
2251
+ )
2252
+ expect ( getRenderCount ( ) ) . toBe ( 2 )
2253
+ } )
2219
2254
} )
2220
2255
2221
2256
describe ( 'useMutation' , ( ) => {
You can’t perform that action at this time.
0 commit comments