UNPKG

react-custom-hooks-utils

Version:

This library contains a collection of reusable React custom hooks to simplify state management, side effects, and user interactions.

29 lines (22 loc) 711 B
import { useState, useRef, useEffect } from 'react'; function useHover() { const [isHovered, setIsHovered] = useState(false); const ref = useRef(null); const handleMouseEnter = () => setIsHovered(true); const handleMouseLeave = () => setIsHovered(false); useEffect(() => { const node = ref.current; if (node) { node.addEventListener('mouseenter', handleMouseEnter); node.addEventListener('mouseleave', handleMouseLeave); } return () => { if (node) { node.removeEventListener('mouseenter', handleMouseEnter); node.removeEventListener('mouseleave', handleMouseLeave); } }; }, []); return [ref, isHovered]; } export default useHover;