@pdftron/webviewer-react-toolkit
Version:
A React component library for integrating with PDFTron WebViewer API.
20 lines (19 loc) • 578 B
JavaScript
import { useEffect, useMemo, useState } from 'react';
export function useUnmountDelay(on = false, delay = 250) {
const [mounted, setMounted] = useState(on);
useEffect(() => {
if (!on) {
const timeoutId = window.setTimeout(() => {
setMounted(false);
}, delay);
return () => window.clearTimeout(timeoutId);
}
setMounted(true);
return;
}, [delay, on]);
const value = useMemo(() => ({
mounted,
unmounting: mounted && !on,
}), [mounted, on]);
return value;
}