feat: add search menu to all resources
This commit is contained in:
24
lib/hooks/useDebouncedCallback.ts
Normal file
24
lib/hooks/useDebouncedCallback.ts
Normal file
@ -0,0 +1,24 @@
|
||||
// useDebouncedCallback.tsx
|
||||
import { useEffect, useState } from "preact/hooks";
|
||||
|
||||
const useDebouncedCallback = (
|
||||
callback: (...args: any[]) => void,
|
||||
delay: number,
|
||||
) => {
|
||||
const [debouncedCallback, setDebouncedCallback] = useState(() => callback);
|
||||
|
||||
useEffect(() => {
|
||||
const debounceHandler = setTimeout(() => {
|
||||
setDebouncedCallback(() => callback);
|
||||
}, delay);
|
||||
|
||||
return () => {
|
||||
clearTimeout(debounceHandler);
|
||||
};
|
||||
}, [callback, delay]);
|
||||
|
||||
return debouncedCallback;
|
||||
};
|
||||
|
||||
export default useDebouncedCallback;
|
||||
|
Reference in New Issue
Block a user