【问题标题】:How to throttle/debounce function inside of React useEvent hook?如何在 React useEvent 挂钩中限制/去抖功能?
【发布时间】:2023-01-25 20:33:38
【问题描述】:
请注意,useEvent 仍处于提案阶段,但今天可以通过 react-use-event-hook 包使用。
不幸的是,throttleuseEvent 中的函数似乎无法正确使用,但我真的很想证明我错了。
我想我们需要throttle其他地方的功能?但是,如果我们需要从相同的功能组件执行此操作,那么 useEvent 将非常有限。
【问题讨论】:
标签:
javascript
reactjs
react-hooks
lodash
throttling
【解决方案1】:
这样的事情怎么样:
export const useThrottledEvent = <T extends (...args: never[]) => unknown>(
callback: T,
delay: number,
): T => {
const event = useEvent(callback)
return useCallback(throttle(event, delay), [event, delay])
}