Skip to content

Commit 5e958af

Browse files
authored
perf(vue-query): reduce unnecessary computed() in useIsFetching (#5905)
* perf(vue-query): reduce unnecessary `computed()` * chore: rename function * refactor: use `watchSyncEffect` instead of `watchEffect`
1 parent 78d473d commit 5e958af

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

packages/vue-query/src/useIsFetching.ts

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import { computed, onScopeDispose, ref, watch } from 'vue-demi'
1+
import { onScopeDispose, ref, watchSyncEffect } from 'vue-demi'
22
import { useQueryClient } from './useQueryClient'
3-
import { cloneDeepUnref } from './utils'
43
import type { Ref } from 'vue-demi'
54
import type { QueryFilters as QF } from '@tanstack/query-core'
65
import type { MaybeRefDeep } from './types'
@@ -12,18 +11,17 @@ export function useIsFetching(
1211
fetchingFilters: MaybeRefDeep<QF> = {},
1312
queryClient?: QueryClient,
1413
): Ref<number> {
15-
const filters = computed(() => cloneDeepUnref(fetchingFilters))
1614
const client = queryClient || useQueryClient()
1715

18-
const isFetching = ref(client.isFetching(filters))
16+
const isFetching = ref()
1917

20-
const unsubscribe = client.getQueryCache().subscribe(() => {
21-
isFetching.value = client.isFetching(filters)
22-
})
18+
const listener = () => {
19+
isFetching.value = client.isFetching(fetchingFilters)
20+
}
2321

24-
watch(filters, () => {
25-
isFetching.value = client.isFetching(filters)
26-
})
22+
const unsubscribe = client.getQueryCache().subscribe(listener)
23+
24+
watchSyncEffect(listener)
2725

2826
onScopeDispose(() => {
2927
unsubscribe()

0 commit comments

Comments
 (0)