useClickOutside

useClickOutside should be used to listen for clicks outside of given element. It is useful when you, for example, want to listen for clicks outside of a modal or similar.

Usage

import React from 'react';
import { useClickOutside } from '@fransvilhelm/hooks';
const Example = () => {
const [open, setOpen] = useState(false);
const modalRef = useRef(null);
useClickOutside(modalRef, () => setOpen(false));
return <div>{open && <Modal ref={modalRef} />}</div>;
};

Example

You can click here to close the above paragraph

Or here...

Parameters

useClickOutside two parameters:

ParamTypeRequiredDefaultDescription
refReact.RefObject<HTMLElement>true-Ref to element on which to listen for clicks outside
handler(event: Event) => voidtrue-Event handler fired on clicks outside of element