#useOutClick
Listen whenever a click has been outside the specified element.
#Usage
import { useOutClick } from '@hitechline/reactools';
import { useState, useCallback, useEffect } from 'react';
const Component = () => {
const [navbarOpened, setOpened] = useState(false);
const { ref, addListener, removeListener } = useOutClick();
const open = useCallback(() => {
setOpened(true);
}, []);
const close = useCallback(() => {
setOpened(false);
}, []);
useEffect(() => {
addListener(close);
return () => {
removeListener(close);
};
}, [close, addListener, removeListener]);
return (
<div>
<button type="button" onClick={open}>
Open
</button>
{navbarOpened && <nav>...</nav>}
</div>
);
};