配置
useRequest 接收一个可选的配置对象,用于控制请求的行为
基本配置
manual
- 类型:
boolean - 默认值:
false - 说明 - 默认情况下,
useRequest会在组件挂载时自动执service- 如果设置
true,则需要手动调runrunAsync来触发请
- 如果设置
initialData
- 类型:
TData | undefined - 默认值:
undefined - 说明 - 初始化的数据
defaultParams
- 类型:
TParams - 默认值:
[] - 说明 - 请求的参 - 如果
manual=false,则作为默认参数传递给service
生命周期
onBefore
- 类型:
(params: TParams) => void - 说明 - 请求前触 - 参数为当前请求的参数
onSuccess
- 类型:
(data: TData, params: TParams) => void - 说明 - 请求成功时触 - 参数为响应数据和请求参数
onError
- 类型:
(e: Error, params: TParams) => void - 说明 - 请求出错时触 - 参数为错误对象和请求参数
onFinally
- 类型:
(params: TParams, data?: TData, e?: Error) => void - 说明 - 请求完成后触发(无论成功或失败)
- 参数为请求参数、响应数据(成功时)和错误对象(失败时)
插件配置
throttleInterval
- 类型:
number - 说明 - 节流等待时间(毫秒)
- 需要配
useThrottlePlugin使用
- 需要配
debounceInterval
- 类型:
number - 说明 - 防抖等待时间(毫秒)
- 需要配
useDebouncePlugin使用
- 需要配
pollingInterval
- 类型:
number - 说明 - 轮询间隔(毫秒)
- 需要配
usePollingPlugin使用
- 需要配
cacheKey
- 类型:
string - 说明:请求的唯一标识。如果设置了
cacheKey,useRequest会自动管理缓存和 SWR(Stale-While-Revalidate)行为。
staleTime
- 类型:
number - 默认值:
0 - 说明:数据保持新鲜的时间(毫秒)。在此时间内,我们认为数据是新鲜的,不会重新发起请求。如果设置为
0,则每次都会重新请求。
cacheTime
- 类型:
number - 默认值:
300000(5 分钟) - 说明:缓存数据在内存中保留的时间(毫秒)。超过此时间,缓存数据将被清除。如果设置为
-1,则缓存永不过期。
retryCount
- 类型:
number - 默认值:
0 - 说明 - 重试次数
- 需要配
useRetryPlugin使用 - 需要配
useRetryPlugin使用
- 需要配
类型定义
typescript
interface Options<TData, TParams extends any[]> {
manual?: boolean;
initialData?: TData;
defaultParams?: TParams;
onBefore?: (params: TParams) => void;
onSuccess?: (data: TData, params: TParams) => void;
onError?: (e: Error, params: TParams) => void;
onFinally?: (params: TParams, data?: TData, e?: Error) => void;
// 插件相关配置
throttleInterval?: number;
debounceInterval?: number;
pollingInterval?: number;
cacheKey?: string;
staleTime?: number;
cacheTime?: number;
retryCount?: number;
}