useThrottle
作用
用来处理节流值的 Hook
原理
实现原理主要是调用
lodash
的throttle
方法。 依赖于 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