Skip to content

geobde/use-click-away

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

React hook to detect click or touch events

useClickAway() reacts to clicks outside the bound element, and calls the expression that is passed in when this event is detected.

Suppose you're working on a Modal component that renders a dialog box, and you wish to close the modal if the user clicks away this is the ideal scenario for useClickAway() custom hook.

Installation

Using npm:

npm i use-click-away --save

Usage

Import the hook:

import { useClickAway } from "use-click-away";

Full example

export default () => {
  const [modal, setModal] = React.useState(false);
  const clickRef = React.useRef("");

  useClickAway(clickRef, () => {
    setModal(false);
  });

  return (
    <div className="container">
      <button onClick={() => setModal(true)}>Show Modal</button>
      {modal && <div ref={clickRef} className="modal">Modal Content</div>}
    </div>
  );
}

Specification

useClickAway() input

  • clickRef: element - The dom element to bind our hook.
  • callback: function - The callback that runs after user click

Built With

React

License

MIT

About

React hook to detect click or touch events outside an element.

Resources

License

Stars

Watchers

Forks