React Native comes with built-in Animated API.
This API is declarative: We determine precise animations, using Animated. timing, Animated.spring, etc. and give the exact parameters required for the animation to run. This technique falls independently when we need lots of detailed and delicate animations on the fly.
Instead, we look to the LayoutAnimation module, which is an interpolative API. We can request predefined LayoutAnimations, or define our own. LayoutAnimation watches changes in the positions of elements between cycles of the render loop and measures the positional differences between elements at different cycles. Then, it includes those changes and produces a smooth, natively driven animation.