useClickOutside

Detect clicks outside a specified element (modals, dropdowns).

Usage Example
1import { useRef, useState } from 'react';
2import { useClickOutside } from '@danixsoft/hooks';
3
4function Dropdown() {
5  const [isOpen, setIsOpen] = useState(false);
6  const ref = useRef<HTMLDivElement>(null);
7  
8  useClickOutside(ref, () => setIsOpen(false));
9
10  return (
11    <div style={{ position: 'relative' }}>
12      <button onClick={() => setIsOpen(true)}>Open</button>
13      
14      {isOpen && (
15        <div ref={ref} style={{ position: 'absolute' }}>
16          Dropdown Menu! Click outside to close.
17        </div>
18      )}
19    </div>
20  );
21}