Vấn đề: animation chạy trên JS thread dễ bị giật (jank) khi JS bận (fetch, render list) hoặc phải qua bridge mỗi frame.
Reanimated giải quyết bằng cách chạy animation trên UI thread:
- Dùng worklet — hàm JS được đánh dấu để chạy trực tiếp trên UI thread → animation vẫn mượt kể cả khi JS thread bận.
- API khai báo: useSharedValue (giá trị động chia sẻ giữa 2 thread), useAnimatedStyle (style tính theo shared value), withTiming/withSpring.
- Kết hợp react-native-gesture-handler cho tương tác cử chỉ mượt, đạt tới 120fps.
So với Animated API sẵn: Animated cần useNativeDriver: true để chạy native nhưng bị giới hạn (chỉ vài thuộc tính); Reanimated linh hoạt và mạnh hơn cho animation phức tạp/gesture.