@wordpress/compose
Version:
WordPress higher-order components (HOCs).
17 lines (16 loc) • 536 B
JavaScript
// packages/compose/src/hooks/use-debounce/index.js
import { useMemoOne } from "use-memo-one";
import { useEffect } from "@wordpress/element";
import { debounce } from "../../utils/debounce";
function useDebounce(fn, wait, options) {
const debounced = useMemoOne(
() => debounce(fn, wait ?? 0, options),
[fn, wait, options?.leading, options?.trailing, options?.maxWait]
);
useEffect(() => () => debounced.cancel(), [debounced]);
return debounced;
}
export {
useDebounce as default
};
//# sourceMappingURL=index.js.map