File tree Expand file tree Collapse file tree 2 files changed +41
-5
lines changed
packages/toolkit/src/query Expand file tree Collapse file tree 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>({
15351535 const { endpointName } = lastResult
15361536 const endpointDefinition = context . endpointDefinitions [ endpointName ]
15371537 if (
1538+ queryArgs !== skipToken &&
15381539 serializeQueryArgs ( {
15391540 queryArgs : lastResult . originalArgs ,
15401541 endpointDefinition,
15411542 endpointName,
15421543 } ) ===
1543- serializeQueryArgs ( {
1544- queryArgs,
1545- endpointDefinition,
1546- endpointName,
1547- } )
1544+ serializeQueryArgs ( {
1545+ queryArgs,
1546+ endpointDefinition,
1547+ endpointName,
1548+ } )
15481549 )
15491550 lastResult = undefined
15501551 }
Original file line number Diff line number Diff line change @@ -2216,6 +2216,41 @@ describe('hooks tests', () => {
22162216 expect ( totalRenderCount ( ) ) . toBe ( 3 )
22172217 expect ( numRequests ) . toBe ( 1 )
22182218 } )
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+ } )
22192254 } )
22202255
22212256 describe ( 'useMutation' , ( ) => {
You can’t perform that action at this time.
0 commit comments