Horje
handleClickoutside custom hook react Code Example
handleClickoutside custom hook react
import { useState, useEffect, useRef } from 'react';

export default function useComponentVisible(initialIsVisible) {
    const [isComponentVisible, setIsComponentVisible] = useState(initialIsVisible);
    const ref = useRef<HTMLDivElement>(null);

    const handleHideDropdown = (event: KeyboardEvent) => {
        if (event.key === 'Escape') {
            setIsComponentVisible(false);
        }
    };

    const handleClickOutside = (event: Event) => {
        if (ref.current && !ref.current.contains(event.target as Node)) {
            setIsComponentVisible(false);
        }
    };

    useEffect(() => {
        document.addEventListener('keydown', handleHideDropdown, true);
        document.addEventListener('click', handleClickOutside, true);
        return () => {
            document.removeEventListener('keydown', handleHideDropdown, true);
            document.removeEventListener('click', handleClickOutside, true);
        };
    });

    return { ref, isComponentVisible, setIsComponentVisible };
}




Javascript

Related
grouped bar charts in chart js Code Example grouped bar charts in chart js Code Example
pdfjs get all the text present Code Example pdfjs get all the text present Code Example
javascript get parent by tag Code Example javascript get parent by tag Code Example
run meteor on different port Code Example run meteor on different port Code Example
javascript easiest way to get second parent Code Example javascript easiest way to get second parent Code Example

Type:
Code Example
Category:
Coding
Sub Category:
Code Example
Uploaded by:
Admin
Views:
6