译零 TransZero · TanStack Query 中文文档
主站

useIsFetching

更新于 2026-11-02 Svelte 查看英文原文 ↗
TypeScript
1function useIsFetching(filters?: Omit<QueryFilters<readonly unknown[]>, "fetchStatus">, queryClient?: QueryClient): ReactiveValue<number>;

定义于:packages/svelte-query/src/useIsFetching.svelte.ts:40

useIsFetching 函数返回你的应用当前正在加载或后台拉取(fetching)的查询(queries)数量(适用于全应用范围的加载指示器)。

参数

filters?

Omit<QueryFilters<readonly unknown[]>, "fetchStatus">

用于缩小计数范围的 QueryFilters。若省略,则统计所有正在拉取的查询。

filters 属性

基于 QueryFilters 构建。参见上方类型定义,了解其影响范围。

queryClient?

QueryClient

使用此参数可指定自定义的 QueryClient;否则将使用离当前组件最近的上下文中的 QueryClient。

返回值

ReactiveValue<number>

一个响应式值——读取 .current 即可获取当前正在拉取的匹配查询数量。

示例

svelte
1<script lang="ts">2  import { useIsFetching } from '@tanstack/svelte-query'3 4  // How many queries matching the posts prefix are fetching?5  const isFetchingPosts = useIsFetching({ queryKey: ['posts'] })6</script>7 8{#if isFetchingPosts.current}9  <span>Refreshing posts...</span>10{/if}

一个全局加载指示器,用于任何后台拉取的查询,而不仅限于当前屏幕中显示的查询:

svelte
1<script lang="ts">2  import { useIsFetching } from '@tanstack/svelte-query'3 4  const isFetching = useIsFetching()5</script>6 7{#if isFetching.current}8  <div>Queries are fetching in the background...</div>9{/if}

本页为 TanStack Query 文档(Svelte 版)的非官方中文翻译,原文由上游团队维护,遵循 MIT 许可。 译文如有偏差,以英文原文为准。

译自上游 59d11de