rodrigoBerlochi / use-click-away

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

React hook to detect click or touch events

React hook useClickAway() that 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

Check the live DEMO.

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 Property</button>
      {modal && <Modal
        modal={modal}
        setModal={setModal}
        onClickOutside={onClickOutside}
      />}
    </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 - A JavaScript library for building user interfaces

License

MIT Licensed. Copyright (c) George Bardi 2020.

About

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


Languages

Language:JavaScript 100.0%