跳转到内容

useRequest / RequestState

接口:RequestState

RequestStateuseRequest 返回的数据状态类型。

类型声明

typescript
import { AxiosResponse } from 'axios'

export interface RequestState<
  // 数据
  TData = any,
  // 方法参数
  TParams extends any[] = any[],
  // 格式化数据
  TFormatData = TData,
  // 原始数据
  TRawData = any,
> {
  /**
   * service 返回的数据 | 格式化后的数据
   */
  data: Undefinable<TFormatData>

  /**
   * service 返回的原始数据,取自 response.data
   */
  rawData: Undefinable<TRawData>

  /**
   * service 返回的错误
   */
  error: Undefinable<ResponseError>

  /**
   * axios 原始响应内容
   */
  response: Undefinable<AxiosResponse<TRawData>>

  /**
   * service 是否正在执行
   */
  loading: boolean

  /**
   * 请求是否已经完成
   */
  finished: boolean

  /**
   * 当次执行的 service 的参数数组。比如你触发了 run(1, 2, 3),则 params 等于 [1, 2, 3]
   */
  params: TParams
}

泛型

名称默认值继承必填描述
TDataany数据类型
TParamsany[]any[]函数入参类型
TFormatDataTData格式化数据后的类型
TRawDataany原始数据类型

属性

data

  • 必填 - Undefinable<TFormatData>

service 返回的数据 | 格式化后的数据

rawData

  • 必填 - Undefinable<TRawData>

service 返回的原始数据,取自 response.data

error

  • 必填 - Undefinable<ResponseError>

service 返回的错误;具体字段

response

  • 必填 - Undefinable<AxiosResponse<TRawData>>

axios 原始响应内容;具体字段

loading

  • 必填 - boolean
  • 默认值:false

service 是否正在执行

finished

  • 必填 - boolean
  • 默认值:false

请求是否已经完成

params

当次执行的 service 的参数数组。比如你触发了 run(1, 2, 3),则 params 等于 [1, 2, 3]