Skip to content

useRequest

异步请求封装,内置 loading/data 状态管理,支持单任务和批量并发(每批 5 个)。

ts
import { useRequest } from 'yoyoo-ui'

单任务

ts
const { loading, data, request } = useRequest(
  () => fetch('/api/list').then((r) => r.json()),
  { immediate: true }
)

批量并发

ts
const { loading, data } = useRequest([
  () => fetch('/api/a'),
  () => fetch('/api/b'),
  () => fetch('/api/c'),
])

参数

参数类型说明
fn() => Promise<T> | Array<() => Promise<T>>单任务函数或批量任务数组
optionsOptions配置项(可选)

Options

属性类型默认值说明
immediatebooleanfalse是否立即执行
initDataanydata 初始值
success(data: T) => void请求成功回调
error(e) => void请求失败回调

返回值

属性类型说明
loadingRef<boolean>加载状态
dataRef<T>响应式数据
request(...args) => Promise<T>手动触发请求