UNPKG

react-reuse-hooks

Version:

A collection of 30+ production-ready reusable React hooks for web apps, covering state, effects, media, forms, and utilities.

25 lines (18 loc) 677 B
import { useState, useRef, useEffect } from "react"; export function useHover() { const [hovered, setHovered] = useState(false); const ref = useRef(); useEffect(() => { const node = ref.current; if (!node) return; const handleMouseEnter = () => setHovered(true); const handleMouseLeave = () => setHovered(false); node.addEventListener("mouseenter", handleMouseEnter); node.addEventListener("mouseleave", handleMouseLeave); return () => { node.removeEventListener("mouseenter", handleMouseEnter); node.removeEventListener("mouseleave", handleMouseLeave); }; }, [ref]); return [ref, hovered]; }