Skip to main content
This guide walks you from zero to a working animation as fast as possible.
1

Install react-native-ease

Requires React Native 0.76+ with the new architecture enabled. See Installation for full setup details.
2

Import EaseView

Replace your View import with EaseView:
EaseView accepts all standard ViewProps — children, style, event handlers. You can use it anywhere you’d use a View.
3

Add an animate prop

Pass target values to the animate prop. When those values change, the view animates to them:
Press the button — the view fades in and out. Without a transition prop, Ease defaults to timing with a 300ms easeInOut curve.
4

Configure the transition

Use the transition prop to control how the animation plays:
The easing field accepts a preset name ('linear', 'easeIn', 'easeOut', 'easeInOut') or a [x1, y1, x2, y2] cubic bezier tuple:
5

Try a spring animation

Swap type: 'timing' for type: 'spring' for physics-based motion. Springs are great for interactive elements because they feel natural and are interruptible:
Rapidly toggling isOpen is fine — each change smoothly redirects the animation from its current position.

More examples

Fade and slide on mount

Use initialAnimate to set starting values. On mount, the view starts at those values and animates to animate:

Scale on press

Staggered list entrance

Use delay to stagger animations across multiple elements:

Animated background color

Key props at a glance

For the full prop list and all animatable properties, see the API Reference.