React Native support is one of the most reacted feature requests in the motion repository. The issue is closed, and the library still renders to the DOM only, so it will not work in a React Native app. (React Native Web is a different story, but most teams want native performance.)
Options in React Native
Reanimated is the standard for performant animation in React Native. It runs animation worklets on the UI thread, so gestures stay smooth when JavaScript is busy. Moti wraps Reanimated with an API that feels like Motion: animate, from, exit and transition props. react-spring has a native package for spring-based animation.
import { MotiView } from 'moti';
<MotiView
from={{ opacity: 0, scale: 0.9 }}
animate={{ opacity: 1, scale: 1 }}
transition={{ type: 'spring' }}
/>If you need the same motion on web and native
Writing the animation twice, once in Motion and once in Reanimated, is common and drifts over time. A runtime file avoids that: Lottie, Rive and ExodeUI all play the same file on web and native. ExodeUI has runtime packages for React and React Native, with state machines and spring physics that your code controls. We make ExodeUI.