如何解决未设置 QueryClient,在 React Query v3 中使用 QueryClientProvider 设置一个

Hyp*_*sis 3 reactjs react-query

我的代码如下所示:

import { useQuery, QueryClientProvider, QueryClient } from 'react-query'
import React from 'react'

const queryClient = new QueryClient()

const fetchData = async () => {
  return (await fetch(`http://jservice.io/api/random?count=50`)).json()
}

function App() {

  const [isLoading, error, data] = useQuery('qa', fetchData)

  console.log(data)


  return (

    <QueryClientProvider client={queryClient}>
      <div className="App">
      </div>
    </QueryClientProvider>

  );
}

export default App;
Run Code Online (Sandbox Code Playgroud)

我使用了 React Query v3 中的确切示例,但仍然得到

Error: No QueryClient set, use QueryClientProvider to set one
Run Code Online (Sandbox Code Playgroud)

我正处于完全放弃图书馆并求助于其他选择的边缘。

小智 5

放在QueryClientProvider你的 React 应用程序的根目录下。

我猜在索引文件中。

当时函数尝试运行钩子useQuery钩子查询客户端缓存未初始化,这将触发该错误。

如果你不希望保留在指数至少应该在不从正在使用相同的父函数useQueryuseMutation或任何钩。