You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native中useInfiniteQuery在react-query 5.66.3+报getCurrentResult错误

React Native中useInfiniteQuery v5.66.3抛出"observer.getCurrentResult is not a function"崩溃问题

在React Native(Android和iOS)环境使用useInfiniteQuery时,应用直接崩溃并抛出错误:

observer.getCurrentResult is not a function (it is undefined)

该问题仅存在于React Native平台,Web环境无异常。useInfiniteQuery在React Query v5.64.0版本可正常工作,但升级至v5.66.3后失效,推测是版本更新引入的回归问题,影响了React Native下的实现逻辑。

相关代码示例

Home.js

const InfiniteQuery = useInfiniteQuery({
  queryKey: 'QueryKey',
  queryFn: async ({pageParam = 0}) => {
    const response = await new Promise(resolve =>
      resolve({
        data: [],
        nextCursor: pageParam + 1,
      })
    );
    return {
      pages: [{data: response.data}],
      pageParams: [pageParam],
    };
  },
  initialPageParam: 0,
  getNextPageParam: (lastPage) => {
    return lastPage.nextCursor || null
  },
});

App.tsx

const queryClient = new QueryClient({
  defaultOptions: {
    queries: {
      retry: 2,
      staleTime: 5 * 60 * 1000,
      gcTime: 10 * 60 * 1000,
      suspense: false,
      useErrorBoundary: false,
    },
  },
});

<QueryClientProvider client={queryClient}>
  <Home />
</QueryClientProvider>

环境版本信息

  • 平台:React Native(Android、iOS)
  • React Query版本:5.66.3(问题版本)、5.64.0(正常版本)
  • React Native版本:0.76.7
  • React版本:18.3.1

解决方案与建议

临时修复方案

  1. 回滚至稳定版本:立即降级React Query到v5.64.0,确保业务正常运行:

    npm install @tanstack/react-query@5.64.0
    # 或使用yarn
    yarn add @tanstack/react-query@5.64.0
    
  2. 排查依赖冲突:检查项目中是否存在嵌套版本的React Query,可通过以下命令查看依赖树:

    npm ls @tanstack/react-query
    # yarn用户执行
    yarn list @tanstack/react-query
    

    若存在冲突,可通过resolutions字段强制统一版本。

  3. 验证导入正确性:确认React Query的导入路径正确,React Native环境下无需额外适配模块,确保导入的是@tanstack/react-query而非Web专属分支。

长期处理建议

  • 前往React Query官方仓库查看issue列表,确认是否已有相同问题的反馈,若没有则提交详细的复现信息(环境版本、代码片段),帮助官方修复回归问题。
  • 后续版本升级前,先在测试环境验证核心分页功能,避免直接影响生产环境。

内容的提问来源于stack exchange,提问作者Johanan307

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 02:24:58