react-usekit

Beta

useClickOutside

Custom hook to detect clicks outside the element.

Installation

npx react-usekit@latest init

Select: hooks → TypeScript or JavaScript → path -> useClickOutside

Usage

import { useClickOutside } from "./hooks/useClickOutside";
import { useState } from "react";

function App() {
  const [isOpen, setIsOpen] = useState(false);
  const dropdownRef = useClickOutside<HTMLDivElement>(() => {
    setIsOpen(false);
  });

  return (
    <div ref={dropdownRef}>
      <button onClick={() => setIsOpen(!isOpen)}>
        Menu {isOpen ? "▼" : "▶"}
      </button>
      {isOpen && (
        <div>
          <p>Option 1</p>
          <p>Option 2</p>
          <p>Option 3</p>
        </div>
      )}
    </div>
  );
}

API

Parameters

ParameterTypeDescription
callback() => voidFunction to call when a click outside is detected

Returns

NameTypeDescription
refRefObject<T>A ref to attach to the element to monitor