Simple react useClickAway hook, which listens for clicks outside the element.
npm i simple-react-clickaway
Import hook
import{useClickAway}from'simple-react-clickaway';And use it like:
const{disable, enable}=useClickAway(ref,onClickAway);Here is a simple example of detecting a click outside a modal window:
import"./styles.css";import{useClickAway}from"simple-react-clickaway";import{useRef}from"react";exportdefaultfunctionApp(){constmodalRef=useRef();consthandleClickAway=()=>{alert("You clicked away!");};const{ disable, enable }=useClickAway(modalRef,handleClickAway);return(<divclassName="App"><divclassName="modal"ref={modalRef}><buttononClick={disable}>Disable click away</button><buttononClick={enable}>Enable click away</button></div></div>);}