useLoadingSlowFn

这个 Hook 自 v1.4.0 版本起可用。

一个类似于 useAsyncFn 的 React Hook,用于轻松处理缓慢加载状态。

演示

源码
Loading:
false
LoadingSlow:
false
Value:
click to fetch

用法

请查看 API。

源码

点击下方链接跳转 GitHub 查看源代码。

API

const { loadingSlow, ...useAsyncFnReturns } = useLoadingSlowFn(fn, options):

函数 Fn

返回 promise 的函数。

选项 Options

参见 UseAsyncFnOptions 了解更多详情。

export interface UseLoadingSlowFnOptions<T extends AnyFunc, D = Awaited<ReturnType<T>>, E = any>
  extends UseAsyncFnOptions<T, D, E> {
  /**
   * 确定加载是否缓慢的超时时长(毫秒)。
   *
   * @defaultValue 0 毫秒
   */
  loadingTimeout?: number
  /**
   * 加载缓慢时调用的回调函数。
   *
   * @defaultValue undefined
   */
  onLoadingSlow?: () => void
}

返回值

参见 UseAsyncFnReturns 了解更多详情。

export interface UseLoadingSlowFnReturns<T extends AnyFunc, D = Awaited<ReturnType<T>>, E = any>
  extends UseAsyncFnReturns<T, D, E> {
  /**
   * 是否加载缓慢。
   */
  loadingSlow: boolean
}