Open In App

How to handle animations with Hooks in React ?

Last Updated : 26 Feb, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

Handling animations in React using hooks like useEffect and useState along with CSS transitions or animation libraries provides a flexible and powerful way to create dynamic user interfaces.

Key Points:

  • State Management: Use the useState hook to manage the state of animation triggers, such as whether an element should be visible or hidden.
  • Effect Handling: Utilize the useEffect hook to control when animations should start or stop. This could involve setting up timers (setInterval, setTimeout) or responding to changes in state.
  • CSS Transitions: CSS transitions are a simple way to add animations to elements. Define transition properties (like transition-property, transition-duration, transition-timing-function, and transition-delay) in your CSS to smoothly animate changes.
  • CSS Classes: Conditionally apply CSS classes to elements based on state changes. This allows you to trigger animations using CSS transitions or keyframes.

Javascript




import React, {
    useState,
    useEffect
} from 'react';
import './App.css';
 
const App = () => {
    const [isVisible, setIsVisible] = useState(false);
 
    useEffect(() => {
        const interval = setInterval(() => {
            setIsVisible(prev => !prev);
        }, 2000);
 
        return () => clearInterval(interval);
    }, []);
 
    return (
        <div>
            <div className={`box
      ${isVisible ? 'visible' : ''}`}>
            </div>
        </div>
    );
};
 
export default App;


Output:

gfg56

Output


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads