mirror of
https://github.com/usememos/memos.git
synced 2025-06-05 22:09:59 +02:00
13 lines
386 B
TypeScript
13 lines
386 B
TypeScript
import { DependencyList, useEffect } from "react";
|
|
import useTimeoutFn from "./useTimeoutFn";
|
|
|
|
export type UseDebounceReturn = [() => boolean | null, () => void];
|
|
|
|
export default function useDebounce(fn: () => any, ms = 0, deps: DependencyList = []): UseDebounceReturn {
|
|
const [isReady, cancel, reset] = useTimeoutFn(fn, ms);
|
|
|
|
useEffect(reset, deps);
|
|
|
|
return [isReady, cancel];
|
|
}
|