我正在浏览一个现有的代码库,查看一些使用的数据获取钩子。
我注意到,几乎在任何地方,都会注意到在useQuery钩子(和其他类似的react-query钩子)中传递的参数在钩子执行之间是相同的。
例如
//custom_data_fetching_hook.js
import { useQuery } from 'react-query';
function fetchSomeStuff() {
// server data request implementation
}
const queryOptions = {
// object as described
我不知道react-query的创建者是否更新了库,但是,我似乎不能从queryCache访问setQueryData,也不能从react-query导入queryCache。
我查看了这些文档,它看起来就像现在可以从react-query中导入的react-query,它是如何使用的:
import {QueryCache,useMutation} from "react-query"
const queryCache= new QueryCache({
onError:err=>console.log(err)
})
//but now thsi on
如下面所示,当我使用useQuery时,它以用于react query文档的方式发送无限数量的获取请求。文档还指出,fetch不会自动抛出错误。因此,我在下面尝试了相同的代码,但是使用了一个try- getAlbums块。我还尝试在useQuery钩子中的一个对象中配置useQuery,但是它没有工作,甚至不知道什么是过时的时间。LOL。请帮帮我。试着在星期一之前完成这个项目
在我的控制台中发现了这个错误:
(node:27609) UnhandledPromiseRejectionWarning: ReferenceError: navigator is not defined
at
我有一个用例,我想用不同的键( in )并行地改变相同的实体。我的问题是:是否有可能使用相同的useMutation为每个请求(react-query缓存键)提供单独的加载器?下面是一个简化的例子(也可以在codesandbox上交互): const useUserMutation = (userData) => {
return useMutation({
mutationKey: [userData.userName, userData.job], // how to have separate loaders based on mutation keys?
m
我正在使用react进行一个项目,在其中显示一个列表。列表中的每个条目都由多个输入字段组成,它应该能够只保存一个条目,并且可以一次保存所有条目。
在保存数据时,我希望显示正在保存的元素的加载指示符、一个重试按钮,以防保存失败,并在保存生效时显示一条成功消息。
我认为获得是可能的,但我似乎找不到从使用它的组件外部触发突变的任何方法。
我制作了一个小的代码框来说明设置,否则我的代码会粘贴到下面。
Form.js
import * as React from "react";
import { Person } from "./Person";
export con
我正在编写一个CRUD应用程序,并使用React查询,我创建了一些自定义钩子,如下所述:
在文档中,我看到基本上有两种方法可以在发生突变后更新缓存:
() 查询失效
onSuccess: () => {
queryClient.invalidateQueries("posts");
}
手动更新缓存的()
// Update post example
// I get the updated post data for onSuccess
onSuccess: (data) => {
queryClient.setQueryData("posts
当我介绍useQueryClient时,我正在经历以下错误?知道为什么会这样吗?
我正试图通过invalidateQueries获得一个queryKey onSuccess of useUpdateEmployee hook。
bundle.js:1427 Uncaught Error: Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
组件
import { use
React查询中的突变最简单的情况是调用突变,然后使查询无效。
ReactQuery将在突变后重新获取背景中的数据,然后重新获取UI将与服务器状态保持一致。
这是使用ReactQuery时突变的“低挂果”:
import { useMutation, useQueryClient } from 'react-query'
const queryClient = useQueryClient()
// When this mutation succeeds, invalidate any queries with the `todos` or `reminders`
我第一次尝试react查询,然后在我的React应用程序开始时得到了这个。
尽管我在树的顶端添加了QueryClientProvider,但我仍然要面对:Error: No QueryClient set, use QueryClientProvider to set one
index.js
ReactDOM.render(
<QueryClientProvider queryClient={queryClient}>
<App />
</QueryClientProvider>
,
document.getElem
我正在学习react,下面的代码正在按预期工作,但我有以下警告消息:
React Hook useEffect has missing dependencies: 'code' and 'mutate'. Either include them or remove the dependency array.eslintreact-hooks/exhaustive-deps
但是,如果我在依赖项数组中添加'code‘和'mutate’,那么我就有一个无限循环。
import React, { useState, useEffect } from &