EaseView is a native Fabric component that brings declarative, CSS-transition-style animations to React Native using Core Animation on iOS and ObjectAnimator/SpringAnimation on Android. Animations run entirely off the JS thread — no worklets, no shared values, no JS animation loop.
It works like a standard View — accepts children, styles, and all ViewProps. When values in animate change, the view smoothly transitions to the new values using native platform APIs.
EaseView requires React Native 0.76+ (Fabric / new architecture). It does not support the old architecture.Usage
Props
Target values for animated properties. When these values change, the view animates from its current state to the new values. See AnimateProps for the full list of animatable properties.
Starting values for enter animations. On mount, the view starts at these values and animates to
animate. Without initialAnimate, the view renders at the animate values immediately with no mount animation.initialAnimate is also required when using loop on a timing transition — it defines the start value the loop returns to.Animation configuration. Controls whether the animation uses a fixed-duration timing curve, a physics-based spring, or no animation at all. Can be a single config applied to all properties, or a per-property map.Defaults to
{ type: 'timing', duration: 300, easing: 'easeInOut' } when omitted.See Transition for all configuration options.Called when all running animations complete. Receives a
TransitionEndEvent object.Pivot point for scale and rotation animations, expressed as 0–1 fractions of the view’s dimensions. Defaults to
{ x: 0.5, y: 0.5 } (center).Android only. When
true, rasterizes the view to a GPU texture for the duration of the animation. Animated property changes (opacity, scale, rotation) are then composited on the RenderThread without redrawing the view hierarchy.This is a no-op on iOS, where Core Animation already composites off the main thread.Non-animated styles — layout, colors, borders, shadows, and any other
ViewStyle properties.If a property appears in both style and animate, the animated value takes priority and the style value is stripped. A dev warning is logged when this happens.NativeWind / Tailwind CSS class string. Requires NativeWind to be installed and configured in your project.
Child elements rendered inside the animated view.
All other standard React Native
View props are forwarded to the underlying view (accessible, testID, pointerEvents, etc.).Related
- AnimateProps — all animatable properties
- Transition — timing, spring, and none configuration
- Types — full TypeScript type reference