useState using Event Hooks

PHOTO EMBED

Thu Dec 28 2023 03:01:17 GMT+0000 (Coordinated Universal Time)

Saved by @Marcelluki

// again, with hooks
function NeonCursor() {
  const [position, setPosition] = React.useState({ top: 0, left: 0 });

  React.useEffect(() => {
    function handleMouseMove(event) {
      setPosition({
        top: event.pageY,
        left: event.pageX,
      });
    }

    // list of actions inside one hook
    document.addEventListener('mousemove', handleMouseMove);
    document.body.classList.add('no-cursor');

    // we're returning a function that remove our effects
    return () => {
      document.body.classList.remove('no-cursor');
      document.removeEventListener('mousemove', handleMouseMove);
    };
  });

  return (
    <img
      src="./cursor.png"
      width={30}
      style={{
        position: 'absolute',
        top: position.top,
        left: position.left,
        pointerEvents: 'none',
      }}
    />
  );
} 
content_copyCOPY

https://tripleten.com/trainer/web/lesson/f154f989-a90e-45ae-9dac-676c391a2449/task/8935acfd-1131-4a8d-81d3-f8649d295f32/