Skip to content

配置

useRequest 接收一个可选的配置对象,用于控制请求的行为

基本配置

manual

  • 类型:boolean
  • 默认值:false
  • 说明 - 默认情况下,useRequest 会在组件挂载时自动执 service
    • 如果设置 true,则需要手动调 run runAsync 来触发请

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
  • 说明:请求的唯一标识。如果设置了 cacheKeyuseRequest 会自动管理缓存和 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;
}