reactQuery状态管理
react-query简介
react-query是用于状态管理,是为了处理请求的状态。目前在github上已有21.1k个star了。react-query的github地址
react-query的使用
第一步需要用QueryClientProvider
组件来包裹项目的根组件。例子如下:
1 | import Layout from './layout' |
react-query的请求处理是通过useQuery
、useMutation
等 Hooks API来实现的。下面将介绍一下useQuery和useMutation。
- useQuery的使用
- 两个参数:一个是请求的
Query key
,一个是发送请求进行处理并返回数据的异步方法。
- 两个参数:一个是请求的
例子如下:
1 | import { useQuery } from "react-query"; |
打印结果: [1,2,3,4,5] true
- useMutation的使用
- 如果说useQuery是对数据的查,那么useMutation是增/删/改,两个参数:一个是发送请求的函数,一个是对请求的数据状态不同的处理。
- 例子如下:
例子:
1 | import { useMutation } from "react-query"; |
获取缓存的数据
在使用useQuery时,第一个参数要填入唯一的key值,useQuery是有缓存的能力,默认是5分钟,所以可以通过queryClient来获取到useQuery请求的缓存数据。例子如下:
1 | import { useQuery,useQueryClient } from "react-query"; |
参考自: React Query官网
相关博客
-
2020-10-30
-
2022-05-18
-
2021-07-01
-
2020-12-15
-
2022-04-19