Skip to content

Commit 32d7189

Browse files
authoredDec 6, 2024··
fix: allow passing enabled:true when skipToken is present (#8407)
1 parent d6621a8 commit 32d7189

File tree

2 files changed

+34
-4
lines changed

2 files changed

+34
-4
lines changed
 

‎packages/query-core/src/queryClient.ts

+1-4
Original file line numberDiff line numberDiff line change
@@ -668,10 +668,7 @@ export class QueryClient {
668668
defaultedOptions.networkMode = 'offlineFirst'
669669
}
670670

671-
if (
672-
defaultedOptions.enabled !== true &&
673-
defaultedOptions.queryFn === skipToken
674-
) {
671+
if (defaultedOptions.queryFn === skipToken) {
675672
defaultedOptions.enabled = false
676673
}
677674

‎packages/react-query/src/__tests__/useQuery.test.tsx

+33
Original file line numberDiff line numberDiff line change
@@ -6422,6 +6422,39 @@ describe('useQuery', () => {
64226422
await waitFor(() => rendered.getByText('data: data'))
64236423
})
64246424

6425+
it('should allow enabled: true and queryFn: skipToken', async () => {
6426+
const consoleMock = vi
6427+
.spyOn(console, 'error')
6428+
.mockImplementation(() => undefined)
6429+
const key = queryKey()
6430+
6431+
function App() {
6432+
const query = useQuery({
6433+
queryKey: key,
6434+
queryFn: skipToken,
6435+
enabled: true,
6436+
})
6437+
6438+
return (
6439+
<div>
6440+
<div>
6441+
status: {query.status}, fetchStatus: {query.fetchStatus}
6442+
</div>
6443+
</div>
6444+
)
6445+
}
6446+
6447+
const rendered = renderWithClient(queryClient, <App />)
6448+
6449+
await waitFor(() =>
6450+
rendered.getByText('status: pending, fetchStatus: idle'),
6451+
)
6452+
6453+
// no warnings expected about skipToken / missing queryFn
6454+
expect(consoleMock).toHaveBeenCalledTimes(0)
6455+
consoleMock.mockRestore()
6456+
})
6457+
64256458
it('should return correct optimistic result when fetching after error', async () => {
64266459
const key = queryKey()
64276460
const error = new Error('oh no')

0 commit comments

Comments
 (0)
Please sign in to comment.