美文网首页
2024-09-02 react typescript 防抖封

2024-09-02 react typescript 防抖封

作者: gdlooker | 来源:发表于2024-09-01 13:30 被阅读0次
import { useEffect, useRef } from "react"

/**
 * 防抖
 *
 * @param {*} func
 * @param {*} wait
 * @param {*} immediate
 * @returns
 */
export const useDebounce = <T extends (...args: any) => any>(
  fn: T,
  time?: number,
): ((...args: any) => any) => {
  const timeoutIdRef = useRef<NodeJS.Timeout>()
  let delay = time || 300
  return (...args: any) => {
    if (timeoutIdRef.current) {
      clearTimeout(timeoutIdRef.current)
    }
    timeoutIdRef.current = setTimeout(() => {
      fn(...args)
    }, delay)
  }
}

相关文章

网友评论

      本文标题:2024-09-02 react typescript 防抖封

      本文链接:https://www.haomeiwen.com/subject/xhycljtx.html