UNPKG

@wordpress/editor

Version:
25 lines (24 loc) 775 B
// packages/editor/src/components/collaborators-overlay/use-debounced-recompute.ts import { useCallback, useRef, useState } from "@wordpress/element"; function useDebouncedRecompute(delayMs) { const [recomputeToken, setRecomputeToken] = useState(0); const timeoutRef = useRef(null); const rerenderAfterDelay = useCallback(() => { if (timeoutRef.current) { clearTimeout(timeoutRef.current); } timeoutRef.current = setTimeout(() => { setRecomputeToken((t) => t + 1); }, delayMs); return () => { if (timeoutRef.current) { clearTimeout(timeoutRef.current); } }; }, [delayMs]); return [recomputeToken, rerenderAfterDelay]; } export { useDebouncedRecompute }; //# sourceMappingURL=use-debounced-recompute.mjs.map