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

在Category子组件中使用TanStack Query遇QueryClient未设置错误

解决React Query "No QueryClient set" 错误

问题原因

你仅在Home页面组件内包裹了QueryClientProvider,但pages/category/[pid].js是Next.js的独立路由页面,不在Home的组件树范围内,因此该页面无法获取QueryClient实例,触发报错。

解决方案

在Next.js的**根组件_app.js**中全局配置QueryClientProvider,让所有路由页面都处于Provider的上下文覆盖范围内。

修改_app.js代码:

import { QueryClient, QueryClientProvider } from "react-query";
import { ReactQueryDevtools } from "react-query/devtools";
import { Fragment } from 'react';

// 创建全局QueryClient实例
const queryClient = new QueryClient();

function MyApp({ Component, pageProps }) {
  return (
    <Fragment>
      <QueryClientProvider client={queryClient} contextSharing={true}>
        <Component {...pageProps} />
        <ReactQueryDevtools initialIsOpen={true} />
      </QueryClientProvider>
    </Fragment>
  );
}

export default MyApp;

后续调整

  • 移除Home页面中的QueryClientProvider及相关React Query导入,避免重复包裹。
  • 调整后所有页面(包括pages/category/[pid].js)均可正常使用useQuery钩子。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 22:27:28