当前位置: 首页 > news >正文

TANSTACK Query中,isFetching,isLoading,isPending的区别

三个主要状态解释

先明确几个状态的含义(基于 TanStack Query 最新版本):

  • isFetching
    — 只要有请求正在进行(包括初次拉取 + 重试 + 后台刷新等),就会是true。TanStack

  • isLoading
    — 只在**第一次 fetch(初始加载)**期间是true。等第一个请求结束(无论成功还是失败),就变成false
    — 等价于:isFetching && isPending(v5 的新术语)TanStack

  • isPending
    — 表示当前是在等待某个 fetch 执行(最初或重试中)。它和isFetching类似但更精细(用于区分“初始”和“后台”状态)。TanStack

🤔 在设置retry: 5时状态如何变化?

假设你的请求第一次失败了,需要重试 5 次:

✔ 初次请求阶段

  • 第一次请求正在发送 →
    isFetching = true,isLoading = true,isPending = true

✔ 第一次失败后开始重试之前

React Query 默认会按退避策略延迟一段时间再发起下一次尝试。TanStack
这段短暂的延迟期间:

  • 没有活跃的请求在执行
    所以:

    • isFetching = false

    • isPending = false

  • 是否显示加载指示器取决于你 UI 的逻辑

    • 对用户来讲可能要显示“重试中…”

    • 但 React Query 本身没把 retry 的延迟期算作 fetching。

✔ 在每次重试的 fetch 执行中

在实际发起重试请求的那一刻:

  • 请求开始 →
    isFetching = true

  • 如果是重试过程,并非第一次成功 →
    isLoading通常是false(因为不是首次加载)

  • isPending可能会在某些状态组合下和isFetching共同为true(取决于版本和细节)TanStack

✔ 重试全部失败后

最终如果 5 次都失败:

  • 不再有 pending fetch →
    isFetching = false
    isLoading = false
    isPending = false

  • isError=true,错误信息出现在error属性里。

总结

状态初始请求请求失败 & 等待重试(延迟)重试请求发起中重试结束(成功/失败)
isFetching
isLoading
isPending(通常和 isFetching 配合)

所以:

不是在 5 次重试期间这三个状态一直是true
❌ 在“重试延迟期”里这些状态是false
⚠️isLoading特别只和首次加载相关。

📌 你可以如何显示“重试中”状态?

如果你想显示“正在执行重试”的 UI,可以结合:

const { isFetching, failureCount } = useQuery(...); 比如: if (isFetching && failureCount > 0) { return <span>重试中… (第 {failureCount} 次)</span> }
http://www.jsqmd.com/news/160049/

相关文章:

  • 规模最大、性能最好,百度百舸助力北京人形打造开源具身多模态大脑模型 Pelican-VL1.0
  • 程序员必看:大模型不是魔法,而是文字接龙+堆参数的狂欢!AI跃迁指南
  • 虹科HK-CoreTest:专业的CAN/CAN FD总线测试软件,高效易用
  • 翔安装修不踩坑!2025年装修公司+避坑指南 - 品牌测评鉴赏家
  • 2025精密金属零件制造企业TOP5权威推荐:浙江点金新材料科技有限公司领跑全球 - 工业推荐榜
  • PyTorch-CUDA-v2.7镜像支持DeepSpeed,千亿参数模型训练可行
  • 2025年旋转涡流探伤仪生产厂家权威推荐榜单:钢丝绳探伤仪/不锈钢探伤仪/便携式探伤仪厂家精选 - 品牌推荐官
  • 2025最新甘肃高考补习/复读班实地调研TOP5:合规机构适配多元备考需求 - 深度智识库
  • 2025年无线智能锁制造商推荐:学校公寓智能锁品牌厂家榜单 - 工业设备
  • 解决PyTorch安装难题:推荐使用PyTorch-CUDA-v2.7基础镜像
  • 2025年金融AI CRM系统榜单揭晓:原圈科技为何胜出?
  • 7款免费AI论文神器实测:1小时生成8000字文献综述,全文引用真实文献
  • Python学习之datetime
  • 6条必须掌握的PCB设计规则
  • 2025年电动阀推荐厂家排名:电动阀靠谱供应商与正规厂商有哪些? - myqiye
  • 2025年厦门装修公司红榜:高性价比+好口碑全攻略 - 品牌测评鉴赏家
  • 深度学习开发环境搭建首选:PyTorch-CUDA-v2.7镜像全面解析
  • 网速和带宽的关系
  • 靠谱密封圈制造商哪家好?新测评精选橡胶密封圈生产商及供应企业排行榜 - 工业品网
  • DCDC电路中为什么有的上管是PMOS,有的是NMOS
  • 【干货】MegaRAG框架详解:多模态知识图谱引领RAG技术新突破!
  • 2025密封圈制造厂TOP5权威推荐:密封圈生产厂哪家技术强? - 工业设备
  • 学长亲荐8个AI论文软件,专科生毕业论文格式规范神器!
  • 2025年北京防水维修项目加盟代理推荐榜:防水维修项目招商/卫生间防水维修/防水维修项目代理/防水维修招商加盟/防水维修项目招商加盟/防水维修项目代理加盟精选 - 品牌推荐官
  • 期末课堂测试
  • 2025厦门口碑优选装修公司指南:实力与匠心的家装之选 - 品牌测评鉴赏家
  • 2025-2026年高低温冷热一体机实力生产商/制造商/供应商厂家推荐 - 品牌推荐大师
  • 面试官:请你说说微信发红包,有哪些测试点
  • Sora 2 与 GPT-5.2-Pro 强强联手:全栈 AI 开发者的终极指南(附 API 接入方案)
  • 省选-日常学习日记