Skip to content

useThrottle

作用

用来处理节流值的 Hook

原理

实现原理主要是调用 lodashthrottle 方法。 依赖于 useThrottleFn 这个 hook。

源码

ts
import { useEffect, useState } from 'react'
import useThrottleFn from '../useThrottleFn'
import type { ThrottleOptions } from './throttleOptions'

function useThrottle<T>(value: T, options?: ThrottleOptions) {
  const [throttled, setThrottled] = useState(value)

  const { run } = useThrottleFn(() => {
    setThrottled(value)
  }, options)

  useEffect(() => {
    run()
  }, [value])

  return throttled
}

export default useThrottle

如有转载或 CV 的请标注本站原文地址