Skip to content

useHover

A hook that detects when an element is being hovered over. Perfect for implementing hover effects, tooltips, or any interaction that depends on mouse hover state.

Parameters

  • ref: RefObject<HTMLElement> - Reference to the element to monitor for hover

Returns

  • boolean - True when the element is being hovered over, false otherwise

Usage

import { useHover } from '@rhinolabs/react-hooks';
import { useRef } from 'react';
function HoverCard() {
const cardRef = useRef<HTMLDivElement>(null);
const isHovered = useHover(cardRef);
return (
<div
ref={cardRef}
style={{
padding: '20px',
backgroundColor: isHovered ? '#f0f0f0' : 'white',
transition: 'background-color 0.2s'
}}
>
<h3>Hover Me!</h3>
{isHovered && (
<div className="tooltip">
Additional information shown on hover
</div>
)}
</div>
);
}

Notes

  • Uses mouseenter/mouseleave events with cross-browser support
  • Implements type-safe ref handling with automatic cleanup
  • Provides real-time state updates with boolean return value
  • Optimizes performance with efficient event binding
  • Prevents unnecessary re-renders through proper memoization