MCPcopy Create free account
hub / github.com/Linen-dev/linen.dev / useHover

Function useHover

apps/web/hooks/hover.tsx:3–24  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1import React, { useEffect, useRef, useState, MutableRefObject } from 'react';
2
3function useHover<T>(): [MutableRefObject<T>, boolean] {
4 const [hover, setHover] = useState<boolean>(false);
5 const ref: any = useRef<T | null>(null);
6 const handleMouseOver = function () {
7 setHover(true);
8 };
9 const handleMouseOut = function () {
10 setHover(false);
11 };
12 useEffect(() => {
13 const node: any = ref.current;
14 if (node) {
15 node.addEventListener('mouseover', handleMouseOver);
16 node.addEventListener('mouseout', handleMouseOut);
17 return () => {
18 node.removeEventListener('mouseover', handleMouseOver);
19 node.removeEventListener('mouseout', handleMouseOut);
20 };
21 }
22 }, [ref.current]);
23 return [ref, hover];
24}
25
26export default useHover;

Callers 2

RowFunction · 0.85
LinkFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected