问题标签 [react-query]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
8416 浏览

reactjs - 反应查询突变打字稿

我只是在玩 react-query

用打字稿

我的意思是我做我的第一次尝试

这是正确的方法吗?

0 投票
1 回答
1229 浏览

reactjs - TypeError: Object(...) is not a function with react-query

我以前读过这个问题,其中许多似乎是一个导入问题,但我不确定我的情况。我正在按照教程学习反应查询,我仔细检查了源代码,制作教程的人没有问题。

引发错误的代码:

错误:

我在这里做错了什么,为什么会产生这个错误?

控制台为我提供了我不关注的信息

0 投票
1 回答
2884 浏览

react-native - react-query 如何在 Jest 测试中从自定义 useMutation 挂钩调用 mutate

我正在运行一个 React Native 项目,我正在测试用 react-query 编写的自定义钩子。我正在使用 Jest、@testing-library/react-hooks 和 @testing-library/react-native。在我的测试中,我似乎找不到调用钩子返回的 mutate 函数的方法。

下面看一下自定义钩子:

根据 react-query 的文档,我正在使用 renderHook() 渲染钩子并等待突变调用的结果:

它不调用 API。我的本地服务器的终端窗口记录了我在使用时正在 ping 服务器,sanityCall()但在我注释掉该调用并依赖钩子时保持沉默。有没有人对如何测试这样的自定义钩子有任何想法?

0 投票
1 回答
1318 浏览

reactjs - react-query:无论getQuery是否被缓存,是否有一个回调触发?

我想做一些副作用,比如 setState 并在获取数据后更新上下文。但是,当数据在缓存中时,不会执行 onSuccess。useEffect 也不起作用,因为如果数据被缓存,它不会从未定义的数据变为真实数据。因此它也不会触发。这样做的最佳方法是什么?谢谢

0 投票
1 回答
446 浏览

reactjs - 在循环中调用 useMutation,如 react-query 中的 useQueries

即使我也想拥有相同的功能,我需要在 Side a 循环中调用 useMutation,在该循环中准备数据并作为有效负载发送

});

0 投票
1 回答
1271 浏览

reactjs - 使用 react-query 和 react-router-dom 缓存

我正在尝试react-query并希望看到它缓存。我有一个获取书籍列表的页面。

请注意,为了简洁起见,一些代码显然只是为了显示重要部分而遗漏了。

现在这本书是我的应用程序中使用react-router-dom的“页面” :

当我在“主页”和“书籍”之间来回切换时(通过单击我的应用程序中的导航链接),我看到书籍每次都访问网络。我还在控制台中看到“卸载”。

我最初将 Routes 包裹在Switch中,并删除了它,但 Books 组件似乎仍然卸载。我希望它不会卸载并且我不会看到网络获取,并且书籍将从反应查询缓存中提取。我还尝试让 useBooks 挂钩不使用搜索选项参数,但结果是一样的。

如何在我的场景中使用避免网络获取?

0 投票
0 回答
196 浏览

react-native - useInfiniteQuery 重新获取单个记录突变的所有页面

useInfiniteQuery在 React Native 中使用 FlatList。在列表中的一项中,有切换功能。我已经成功使用useMutation并且效果很好。

当用户滚动并到达终点时,我会获取另一页。假设我在服务器上加载了 5 个页面,即 5 个请求。现在我转到第一页的顶部并使用突变切换第一条记录。我用了

我观察到这会导致所有页面在后台获取,即服务器上的 5 个请求再次获取所有已经存在且仅用于一条记录的页面。

所以我的问题是是否可以避免所有页面请求并仅重新获取已更改的页面。我试图查看文档,但找不到任何有用的信息。

0 投票
2 回答
1971 浏览

reactjs - 如何解决 No QueryClient set,使用 QueryClientProvider 在 React Query v3 中设置一个

我的代码如下所示:

我已经使用了 React Query v3 中的确切示例并且仍然得到

我正处于完全放弃图书馆并求助于替代品的边缘。

0 投票
1 回答
590 浏览

reactjs - 如何向 React-query 中的现有数据添加新数据?

我有一个代码,它调用具有一定数量数据的 API 并接收它们。我希望第二次调用将新检索到的数据添加到使用 React-query 库的现有数据中。

到目前为止,我的代码是:

我希望通过仅使用 React-query 钩子将新获取的数据添加到现有数据来达到 4444 时间线标记。

我怎样才能做到这一点?

0 投票
1 回答
314 浏览

reactjs - 使用 jest 将全局包装器添加到酶安装

背景

所以我在一个项目中添加了反应查询,我的酶测试遇到了问题。对于那些使用过 RQ v3 的人,您知道它需要一个QueryClientProvider包装器。这对我的应用程序来说很好,但是像这样的测试:

除非我添加这样的包装器,否则现在将失败:

问题

是否可以为开玩笑的一面添加一个全局包装器,也许setupTests可以在其中添加QueryClientProvider一次,而不是在每个需要它的测试上添加。