A React utility hook for easy and dynamic toggling of CSS classes

A React utility hook for easy and dynamic toggling of CSS classes. Ideal for animating HTML elements based on user interactions or application state changes. Comes with configurable class sequences and time delays for flexible animation effects.

npm install react-class-transition # or yarn add react-class-transition or pnpm add react-class-transition

Usage

import React from 'react'
import { useTransitions } from 'react-class-transition'

const ExampleComponent = () => {
  const [bind, run] = useTransitions({
    myElement: {
      // Apply the visible class wait 15 miliseonds and apply opacity-100
      fadeIn: ['visible', 15, 'opacity-100'],
      // Apply opacity-0 wait 200 miliseconds and apply the invisible class
      fadeOut: ['opacity-0', 150, 'invisible'],
    },
  })

  return (
    <div>
      <div ref={bind('myElement')} className="transition-all duration-150">
        Hello, World!
      </div>
      <button onClick={() => run('fadeIn')}>Fade In</button>
      <button onClick={() => run('fadeOut')}>Fade Out</button>
    </div>
  )
}

License

MIT © Dan Beaven

GitHub

View Github