Skip to main content

Custom cursor

Let's try using a different cursor other than the default one!

Create Custom Cursor

You can easily create your own cursor component by using useCursorify. The useCursorify hook returns mouseState and hoverState. Refer to the description of each below.

  • mouseState: Displays the mouse state. Currently, only 'default' and 'mouseDown' exist.
  • hoverState: Displays the style applied using the useHoverRegister hook.

The following is the EmojiCursor cursor component of react-cursorify. You don't necessarily have to apply styles using style attribute. Try creating a cursor component with your own style!

import { useCursorify } from '@cursorify/react'

const EmojiCursor = () => {
const { mouseState, style } = useCursorify()

return (
<div
style={{
width: 40,
height: 40,
fontSize: 30,
}}
>
{(() => {
if (disabled) return '🖐️'
if (mouseState === 'mouseDown') return '✊'
if (style === 'pointer') return '👆'
return '🖐️'
})()}
</div>
)
}

export default EmojiCursor

Applying Custom Cursors

You can apply custom cursors as follows:

import { CursorifyProvider, EmojiCursor } from '@cursorify/cursors'

const App = () => {
return (
<CursorifyProvider cursor={<EmojiCursor />}>
<>{/*....your component */}</>
</CursorifyProvider>
)
}

export default App

We provide various cursor components created by other people through the @cursorify/cursors library. You can also contribute to the repository by submitting a PR to share the cursor you made with others.

If you're curious about what cursors are available, check out cursors!