Определяет клик вне компонента

PHOTO EMBED

Wed Apr 27 2022 06:49:33 GMT+0000 (Coordinated Universal Time)

Saved by @happy_cutman #react.js

import { useEffect } from 'react';

export const useClickOutside = (ref, setIsModalOpen) => {
  useEffect(() => {
    function handleClickOutside(event) {
      if (ref.current && !ref.current.contains(event.target)) {
        setIsModalOpen(false)
      }
    }
    document.addEventListener("mousedown", handleClickOutside);
    return () => {
      document.removeEventListener("mousedown", handleClickOutside);
    };
  }, [ref]);
};
content_copyCOPY