【问题标题】:How to set QueryClientProvider from tanstack/react-query in storybook如何从故事书中的 tanstack/react-query 设置 QueryClientProvider
【发布时间】:2022-10-18 21:03:30
【问题描述】:

在故事书中,我收到以下错误:No QueryClient set, use QueryClientProvider to set one

在我的 _app.tsx 中:

const queryClient = new QueryClient();

const MyApp = ({ Component, pageProps }: AppProps) => {
  return (
    <QueryClientProvider client={queryClient}>
      <Component {...pageProps} />
    </QueryClientProvider>
  );
};

我试图将故事包装在 QueryClientProvider 中:

// method 1
export default {
  ...
  decorators: [
    (Story) => {
      const queryClient = new QueryClient();
      return (
        <QueryClientProvider client={queryClient}>
          <Story />
        </QueryClientProvider>
      );
    },
  ],
} as Meta;

// method 2
export const Complete = () => {
const queryClient = new QueryClient();
  return (
    <QueryClientProvider client={queryClient}>
      <AuthenticationPage />
    </QueryClientProvider>
  );
};

但两者都不起作用;我通过互联网挖掘,所有非解决方案都是针对故事书的。

【问题讨论】:

  • 两种方式都应该有效,所以很难说没有可运行的复制
  • 我认为我的实现也是正确的;但只是由于某种原因不工作。我在想 react-query 库可能有一个特殊情况。
  • 那没有。我可以看看你是否可以链接到有这个问题的公共回购
  • 非常感谢:github.com/weipeng-jiang/calories-to-meals 这个故事是 src/components/authenticationPage/AuthenicationPage.stories.tsx
  • @webber您找到解决方案了吗?

标签: reactjs next.js storybook react-query


【解决方案1】:

只是与我认为是同一问题的问题搏斗,结果发现我在指定提供者的同一级别上进行查询。这违背了 React 渲染生命周期,因为查询将在上下文可用之前尝试。我会仔细检查您是否面临这个问题,而不是特定于故事书的问题。

【讨论】:

  • 你有一些示例代码/沙箱吗?或有关您的结构的其他指导?
【解决方案2】:

有没有人找到答案?我在这里有同样的问题。谢谢!

【讨论】:

猜你喜欢
  • 2023-01-24
  • 1970-01-01
  • 1970-01-01
  • 2022-01-18
  • 2021-03-07
  • 2019-12-19
  • 2021-03-18
  • 1970-01-01
  • 2020-12-15
相关资源
最近更新 更多