Why Reanimated Exists

Animated with the native driver can only play an animation it was given; it cannot run logic per frame. A drag that snaps to a shelf or a header whose height follows the scroll needs code every frame, and with Animated that code runs on the JavaScript thread, where any other work shows up as a stutter.

Reanimated 11,010 runs small functions, worklets, in a second JavaScript runtime on the UI thread, where they read and write shared values frame by frame without React 7,897 re-rendering. Reanimated 4 needs the New Architecture and moved the worklet machinery into react-native-worklets. Its code lives at github.com/software-mansion/react-native-reanimated (https://github.com/software-mansion/react-native-reanimated 11,010 ) (MIT licensed). BookNest installed both, plus two modules Interaction APIs needs, through Expo 6,418 so that the versions match the SDK:

Adding Reanimated, worklets, Gesture Handler and two Section 3.12 modules to BookNestShell
npx expo install react-native-reanimated react-native-worklets react-native-gesture-handler \
  expo-clipboard expo-linking
Output
› Installing 5 SDK 57.0.0 compatible native modules using npm
> npm install
added 23 packages, and audited 501 packages in 17s
Versions pinned by Expo SDK 57 against the newest releases
Package Expo SDK 57 installs npm 2,036 latest (24 Sep 2026)
react-native-reanimated 4.5.1 4.7.0
react-native-worklets 0.10.1 0.13.0
react-native-gesture-handler 6,788 ~2.32.0 3.3.0 (2.33.0 tagged "legacy")

Stay on the SDK's pins: each Reanimated release supports a narrow window of React Native 36,878 versions and one worklets line. The libraries contain native code, so they need a development build; babel-preset-expo adds the worklets Babel 41,624 plugin, while a Community CLI project lists react-native-worklets/plugin last in its Babel config.