我第一次尝试响应查询,然后我在我的React应用程序开始时得到了这个。
import React from 'react'
import { useQuery } from "react-query";
const fetchPanets = async () => {
const result = await fetch('https://swapi.dev/api/people')
return result.json()
}
const Planets = () => {
const { data, status } = useQuery('Planets', fetchPanets)
console.log("data", data, "status", status)
return (
<div>
<h2>Planets</h2>
</div>
)
}
export default Planets
8条答案
按热度按时间oxosxuxt1#
如错误所示,您需要将应用程序 Package 在
QueryClientProvider
中。l2osamch2#
虽然这通常是由于没有将应用程序 Package 在
<QueryClientProvider>
中而导致的,但在我的情况下,这是因为我导入了一些共享组件,这些组件以不同的上下文结束。这看起来像:
从文档中:(https://react-query.tanstack.com/reference/QueryClientProvider)(英文)
contextSharing
:布尔值(默认为false)将此设置为true可启用上下文共享,这将在整个窗口中共享上下文的第一个和至少一个示例,以确保如果在不同的捆绑包或微前端中使用“React查询”,则无论模块作用域如何,它们都将使用相同的上下文示例。
lc8prwob3#
只要像下面这样进行更改,它就会工作正常
2jcobegt4#
wn9m85ua5#
我也想解决同样的问题:
我遵循React Query docs并使用Higher Order Component的概念
看看是否有帮助:
hgb9j2n66#
单个SPA(微前端)-React查询v3.34.15
我在尝试将一个single-spa react包集成到根应用程序中时遇到此错误。
我使用
craco-plugin-single-spa-application
来构建CRA应用程序,以使其适应包裹。在entryconfig中,我指向了我的single-spa-react
配置。在
single-spa-index.cf.js
文件中,我有以下配置。在阅读了大量的论坛和react-query文档后,我发现我唯一需要修改的是在
QueryClientProvider
中传递属性contextSharing
为true。在做了这个修改后,运行建筑并访问打开我的包裹的路线。我得到了同样的错误。但是,我怎么解决这个问题呢?嗯,很简单。我甚至无法想象为什么它在本地工作。但在构建和集成之后就不行了。
问题是因为我把React查询提供程序放在了应用程序的索引中,在我的
single-spa-index.cf.js
中,我导入了import App from '../App'
,它实际上没有被提供程序 Package 。曾经,我也在应用程序索引中导入了App,它被 Package 在这里,使它在本地工作。😢😢所以在弄明白之后,我的代码是这样的:解决方案后的代码
好吧,这是很长的,但我希望它帮助的人正在经历同样的问题,因为我的。🙌🙌🙌
gk7wooem7#
在我的例子中,我在一个地方从“react-query”导入,在另一个地方从“@tanstack/react-query”导入。
0wi1tuuw8#
我在尝试添加react-querydevtools时遇到该错误。
问题是我安装它错误根据我的版本,我使用的是react-query v3.
React查询V3错误(V4正确)
确定用于React查询V3