sdk changes
This commit is contained in:
15
apps/web/src/hooks/useThrottle.ts
Normal file
15
apps/web/src/hooks/useThrottle.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
import { useCallback, useEffect, useRef } from 'react';
|
||||
import throttle from 'lodash.throttle';
|
||||
|
||||
export function useThrottle(cb: () => void, delay: number) {
|
||||
const options = { leading: true, trailing: false }; // add custom lodash options
|
||||
const cbRef = useRef(cb);
|
||||
// use mutable ref to make useCallback/throttle not depend on `cb` dep
|
||||
useEffect(() => {
|
||||
cbRef.current = cb;
|
||||
});
|
||||
return useCallback(
|
||||
throttle(() => cbRef.current(), delay, options),
|
||||
[delay]
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user