How to add custom cursor in react js?

Hi Friends πŸ‘‹,

Welcome To aHoisting!

To add custom cursor in react js, you have to use document.addEventListener('mousemove', handleMouseMove); function and .custom-cursor css. It will add custom cursor in react js.

Today, I am going to show you, how to add custom cursor in react js.

Table of contents

  • Install and create a new React app.
  • Import react component.
  • Create a Component.

Let’s start with the first step.

Step 1: Install and create a new React app.

First you have to install the React project. You should use create-react-app command to create a new React project.

npx create-react-app my-app
cd my-app
npm start

Step 2: Import react component.

After installing, you have to import your React component. To do this, add the following line to the top of your component file.

import React, { useEffect, useState } from 'react';
import './App.css';

Step 3: Create a Component.

You can use className="custom-cursor" to add custom cursor in react js.

<div
  className="custom-cursor"
  style={{ left: `${position.x}px`, top: `${position.y}px` }}
/>

Define the add custom cursor example.

The below code is an example of a React. You have to import './App.css' and use document.addEventListener('mousemove', handleMouseMove); function and .custom-cursor css to add custom cursor in react js.

App.js

import React, { useEffect, useState } from 'react';
import './App.css';

const CustomCursor = () => {
  const [position, setPosition] = useState({ x: 0, y: 0 });

  useEffect(() => {
    const handleMouseMove = (event) => {
      setPosition({ x: event.clientX, y: event.clientY });
    };

    document.addEventListener('mousemove', handleMouseMove);

    return () => {
      document.removeEventListener('mousemove', handleMouseMove);
    };
  }, []);

  return (
    <div
      className="custom-cursor"
      style={{ left: `${position.x}px`, top: `${position.y}px` }}
    />
  );
};

export default CustomCursor; 

App.css

.custom-cursor {
  position: fixed;
  width: 20px;
  height: 20px;
  background-color: black;
  border-radius: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%);
  z-index: 9999;
}

In the above code example, I have used the style={{ left: `${position.x}px`, top: `${position.y}px` }} css and add custom cursor in react js.

Check the output of the above code example.

React, custom, cursor

All the best πŸ‘