Skip to content

Commit 892f96e

Browse files
feat: do not call disabled refetch
1 parent 584855c commit 892f96e

File tree

3 files changed

+13
-2
lines changed

3 files changed

+13
-2
lines changed

src/react-query/impl/infinite/hooks.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {useMemo} from 'react';
22

3-
import {useInfiniteQuery} from '@tanstack/react-query';
3+
import {skipToken, useInfiniteQuery} from '@tanstack/react-query';
44
import type {InfiniteData, InfiniteQueryObserverOptions} from '@tanstack/react-query';
55

66
import type {
@@ -16,6 +16,7 @@ import type {
1616
} from '../../../core';
1717
import {useRefetchInterval} from '../../hooks/useRefetchInterval';
1818
import {normalizeStatus} from '../../utils/normalizeStatus';
19+
import {warnDisabledRefetch} from '../../utils/warnDisabledRefetch';
1920

2021
import type {AnyInfiniteQueryDataSource, InfiniteQueryObserverExtendedOptions} from './types';
2122
import {composeOptions} from './utils';
@@ -63,11 +64,14 @@ export const useInfiniteQueryData = <TDataSource extends AnyInfiniteQueryDataSou
6364
[state.data],
6465
);
6566

67+
const isDisabled = composedOptions.enabled === false || composedOptions.queryFn === skipToken;
68+
6669
return {
6770
...state,
6871
status: normalizeStatus(state.status, state.fetchStatus),
6972
data: transformedData,
7073
originalStatus: state.status,
7174
originalData: state.data,
75+
refetch: isDisabled ? warnDisabledRefetch : state.refetch,
7276
} as DataSourceState<TDataSource>;
7377
};

src/react-query/impl/plain/hooks.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {type QueryObserverOptions, useQuery} from '@tanstack/react-query';
1+
import {type QueryObserverOptions, skipToken, useQuery} from '@tanstack/react-query';
22

33
import type {
44
DataSourceContext,
@@ -12,6 +12,7 @@ import type {
1212
} from '../../../core';
1313
import {useRefetchInterval} from '../../hooks/useRefetchInterval';
1414
import {normalizeStatus} from '../../utils/normalizeStatus';
15+
import {warnDisabledRefetch} from '../../utils/warnDisabledRefetch';
1516

1617
import type {AnyPlainQueryDataSource, QueryObserverExtendedOptions} from './types';
1718
import {composeOptions} from './utils';
@@ -52,9 +53,12 @@ export const usePlainQueryData = <TDataSource extends AnyPlainQueryDataSource>(
5253
const composedOptions = usePlainQueryDataOptions(extendedOptions);
5354
const state = useQuery(composedOptions);
5455

56+
const isDisabled = composedOptions.enabled === false || composedOptions.queryFn === skipToken;
57+
5558
return {
5659
...state,
5760
status: normalizeStatus(state.status, state.fetchStatus),
5861
originalStatus: state.status,
62+
refetch: isDisabled ? warnDisabledRefetch : state.refetch,
5963
} as DataSourceState<TDataSource>;
6064
};
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export const warnDisabledRefetch = () => {
2+
console.warn('Disabled refetch is called');
3+
};

0 commit comments

Comments
 (0)