React Query v2.26.1中useQueryClient未定义问题咨询
原因及解决方案
核心原因:
useQueryClient是React Query v3及以上版本才新增的API,你当前使用的v2.26.1属于v2版本,这个版本根本没有这个钩子,所以类型定义文件里也不会导出它。v2版本的替代方案:在React Query v2中,要获取查询缓存实例,需使用
useQueryCache钩子,示例代码如下:
import { useQueryCache } from 'react-query' const queryCache = useQueryCache() // 可通过queryCache执行invalidateQueries、setQueryData等缓存操作
- 额外说明:React Query v3对核心API做了重构,将原有的
QueryCache和新增的MutationCache整合到QueryClient中管理,useQueryClient就是这个版本新增的获取客户端实例的入口。如果必须使用useQueryClient的功能,要么升级到v3及以上版本,要么在v2中用useQueryCache实现类似逻辑。
内容的提问来源于stack exchange,提问作者Jonathan Tuzman
相关产品推荐
相关产品推荐

