React Spring Introduction and Installation

Last Updated : 19 Aug, 2025

React Spring is a popular library for handling animations in React applications. It provides a set of tools to create high-performance, fluid animations, based on physics-based principles.

React Spring stands out by:

  • Declarative Animations: React Spring uses a declarative approach to animations, meaning you describe how the animation should look in the end, and the library takes care of the transition.
  • Spring-based Animations: Instead of traditional keyframes, React Spring uses springs to animate elements. This results in more fluid, natural-looking transitions.
  • Easy Integration: React Spring can be easily integrated with any React app and is flexible enough to work with other animation solutions or libraries.

Steps to Implement React-Spring

Step 1: Create a new application using the following command.

npx create-react-app reactspringdemo
cd reactspringdemo

Step 2: Install the React Spring library.

npm install react-spring

Folder Structure

Project Structure.
JavaScript
import React from 'react'
import LoopingCard from './LoopingCard'

function App() {
    console.log('hello')
    return (
        <>
            <LoopingCard />
        </>
    );
}

export default App;
JavaScript
//LoopingCard.js
import React from 'react';
import { useSpring, animated } from 'react-spring'

const LoopingCard = () => {

    const styles = useSpring({
        loop: true,
        from: { rotateZ: 0 },
        to: { rotateZ: 360 },
        duration: 2000,
    });

    return (<animated.div
        style={{
            width: 80,
            height: 80,
            backgroundColor: 'd6d6d6',
            borderRadius: 16,
            boxShadow: 'rgb(0,0,0,0.44) 0px 5px 5px',
            display: 'flex',
            alignItems: 'center',
            justifyContent: 'center',
            color: 'green',
            margin: 250,
            ...styles,
        }} >GFG</animated.div>
    );
}

export default LoopingCard;

Step to Run the Application: Run the following command.

npm start

Output:

In this example

  • The app component renderers the LoopingCard component and logs "hello" to the console.
  • The animation with useSpring uses useSpring from react-spring to animate the card, rotating it from 0 to 360 degrees infinitely.
  • The Styled Card the animated .div is styled as a square card with a gray background, rounded corners, and a green "GFG" text inside.
  • The Infinite Loop the animation loops indefinitely with a 2-second duration, making the card continuously rotate.

Use Cases of React Spring

  • Loading Animations: Make loading screens look more interesting using the animation while users wait for content to load.
  • Page Transitions: Between the different pages, they animate smoothly.
  • Interactive UI Components: This makes the UI component interactive by adding the effects to buttons and cards when clicked on them it changes color or start animating.
  • Pop-ups and Tooltips: Animate pop-ups, tooltips, and notifications to grab users' attention in a friendly way.
Comment