sanity-plugin-icon-picker-fix
Version:
An Icon Picker plugin for Sanity
18 lines (14 loc) • 423 B
text/typescript
import { useState } from 'react';
export default function useDebouncedCallback<A extends any[]>(
callback: (...args: A) => void,
delay: number
): (...args: A) => void {
const [timeoutId, setTimeoutId] = useState<number | null>(null);
return (...args: A) => {
if (timeoutId) {
clearTimeout(timeoutId);
}
const id = window.setTimeout(() => callback(...args), delay);
setTimeoutId(id);
};
}