useDoubleClick is a React hook that differentiates between single and double click events. It delays the single click callback execution for a specified time, and cancels it if a second click (i.e. a double click) occurs within that time.
function useDoubleClick<E extends HTMLElement>(
params: Object
): (event: MouseEvent<E>) => void;function GalleryCard() {
const [selected, setSelected] = useState(false);
const handleClick = () => setSelected(prev => !prev);
const handleDoubleClick = () => alert('Zoom in!');
const handleEvent = useDoubleClick({
click: handleClick,
doubleClick: handleDoubleClick,
});
return (
<div onClick={handleEvent}>{selected ? 'Selected' : 'Not selected'}</div>
);
}