Motion makes an app feel polished, as long as it stays smooth.
Direct answer
For simple animations, use React Native's built-in Animated API with useNativeDriver: true. For complex or gesture-based motion, use the Reanimated library. Animate opacity and transform for best performance, and respect reduced-motion settings.
Fade-in example
import { useEffect, useRef } from "react";
import { Animated, Text } from "react-native";
export default function FadeIn() {
const opacity = useRef(new Animated.Value(0)).current;
useEffect(() => {
Animated.timing(opacity, {
toValue: 1,
duration: 400,
useNativeDriver: true,
}).start();
}, [opacity]);
return <Animated.Text style={{ opacity }}>Welcome</Animated.Text>;
}
Tips
- Keep animations short and purposeful.
- Animate transform and opacity.
- Test on a real device.
- Check the accessibility setting for reduced motion.
Where Teyro fits
Teyro's React Native for Beginners course turns this into short lessons you can play in a few minutes a day. It has 80 lessons, and you can start free.
The bottom line
Start with Animated, move to Reanimated when you need more.



