[ad_1]
Animation brings interfaces to life. Fortunately, React has nice open supply libraries for animation. Let’s examine some fashionable choices:
Framer Movement
Framer Movement makes use of declarative props for animation:
import { movement } from 'framer-motion';
const boxVariants = {
hidden: { opacity: 0 },
seen: { opacity: 1 },
}
operate MyComponent() {
return (
<movement.div
preliminary="hidden"
animate="seen"
variants={boxVariants}
/>
);
}
Framer Movement permits CSS, SVG, gesture, and physics animations.
React Transition Group
React Transition Group gives class-based transitions:
import { CSSTransition } from 'react-transition-group';
operate MyComponent() {
return (
<CSSTransition
in={isVisible}
timeout={300}
classNames="fade"
>
<div>Fades out and in</div>
</CSSTransition>
);
}
Applies transition courses mechanically when state modifications.
React Spring
React Spring makes use of a physics-based method:
import { useSpring } from 'react-spring';
operate MyComponent() {
const props = useSpring({
opacity: toggle ? 1 : 0,
coloration: 'crimson'
});
return <animated.div type={props}>Fades and modifications coloration</animated.div>
}
React Spring applies animated props declaratively.
Abstract
- Framer Movement – Declarative props for CSS, SVG, gesture, physics
- React Transition Group – Class-based enter/depart transitions
- React Spring – Physics-based animation props
Every library brings distinctive strengths for animation to your React apps.
[ad_2]