useMousePosition
Tracks the mouse position return its X and Y.
Installation
npx rabbithook@latest add use-mouse-position
Usage
import useMousePosition from "@/hooks/use-mouse-position";
function Component() { const { x, y } = useMousePosition();
return ( <p>Mouse position: {x}, {y}</p> );}
Code
import { useEffect, useState } from "react";
type MousePosition = { x: number; y: number;};
function useMousePosition() { const [mousePosition, setMousePosition] = useState({} as MousePosition);
useEffect(() => { const handleMouseMove = (event: MouseEvent) => { setMousePosition({ x: event.clientX, y: event.clientY }); };
window.addEventListener("mousemove", handleMouseMove);
return () => { window.removeEventListener("mousemove", handleMouseMove); }; }, []);
return mousePosition;}
export default useMousePosition;
import { useEffect, useState } from "react";
function useMousePosition() { const [mousePosition, setMousePosition] = useState({});
useEffect(() => { const handleMouseMove = (event) => { setMousePosition({ x: event.clientX, y: event.clientY }); };
window.addEventListener("mousemove", handleMouseMove);
return () => { window.removeEventListener("mousemove", handleMouseMove); }; }, []);
return mousePosition;}
export default useMousePosition;