Skip to content

Instantly share code, notes, and snippets.

@ronreiter
Created March 15, 2024 07:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ronreiter/94a6d8f81af0d5450b39f7230a856bfa to your computer and use it in GitHub Desktop.
Save ronreiter/94a6d8f81af0d5450b39f7230a856bfa to your computer and use it in GitHub Desktop.
Mouse position React hook
import { useEffect, useState } from 'react';
export default function useMousePosition() {
const [coords, setCoords] = useState({ x: 0, y: 0 });
useEffect(() => {
const handleWindowMouseMove = (event: MouseEvent) => {
setCoords({
x: event.clientX,
y: event.clientY
});
};
window.addEventListener('mousemove', handleWindowMouseMove);
return () => {
window.removeEventListener('mousemove', handleWindowMouseMove);
};
}, []);
return coords;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment