next-gs
Version:
NPM package for building a React+NextJS+Prisma admin application.
14 lines (11 loc) • 374 B
text/typescript
import React from "react";
export const useDelay = <T>(callback: (args?: T) => void, timeout: number) => {
const delay = React.useRef<NodeJS.Timeout | null>(null);
return React.useCallback(
(args?: T) => {
if (delay.current) clearTimeout(delay.current);
delay.current = setTimeout(() => callback(args), timeout);
},
[callback, timeout]
);
};