finds.dev← search

// the find

oblador/react-native-animatable

★ 9,930 · JavaScript · MIT · updated Oct 2023

Standard set of easy to use animations and declarative transitions for React Native

A declarative animation library for React Native, wrapping the old Animated API in props like animation="bounceIn" and a big preset library modeled after animate.css. Good fit for teams that want stock enter/exit/attention animations without hand-rolling Animated.Value timing curves, not for anyone chasing 60fps native-thread animation.

Declarative usage is genuinely low-friction — drop an animation prop on Animatable.View/Text/Image and you're done, no manual Animated.Value or interpolation wiring. Ships both declarative and imperative APIs (ref.bounce(), ref.animate() with custom keyframe objects), so it covers ad-hoc triggered animations too. The preset set is large and covers the usual UI cases (entrances, exits, attention seekers, flips, lightspeed) rather than forcing you to define your own for common patterns. Custom animations are just plain keyframe objects and can be registered globally via initializeRegistryWithDefinitions, so extending or overriding built-ins doesn't require forking.

useNativeDriver defaults to false, so out of the box every animation runs on the JS thread — the exact bridge-jank problem the native driver exists to avoid — and you have to remember to opt in per-animation. No commits since October 2023; there's no signal it's been validated against RN's New Architecture (Fabric/TurboModules), and by now most of the ecosystem has shifted to react-native-reanimated for anything beyond trivial transitions. It's built on the legacy Animated API rather than a UI-thread-driven engine, so it inherits that API's ceiling on complex gesture-linked or high-frequency animation. Types live in a hand-maintained typings/*.d.ts rather than being authored in TypeScript, so the type surface can drift from the actual JS API over time.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →