文档
有关此库及其API的更多信息,请参阅Software Mansion官方文档中的https://docs.swmansion.com/react-native-reanimated/(仅提供英文版)。安装
选择适用于您的React Native版本的选项卡。请注意,RN 0.83需额外添加@amazon-devices/react-native-worklets依赖项,其提供核心的多线程基础架构,支持worklet——即可以在独立线程(如用户界面线程)上执行的JavaScript函数。Worklet是Reanimated能够流畅运行动画和交互而不阻塞JavaScript线程的基础。
- 在package.json文件中添加JavaScript库依赖项:
- React Native 0.72
- React Native 0.83
-
将Reanimated Babel插件添加到babel.config.js文件中:
-
运行以下命令,清除Metro bundler缓存:
-
运行
npm install命令重新安装package-lock.json文件。
示例
以下示例说明如何使用withTiming方法在无限循环中运行简单动画。
withSpring函数运行基于弹簧的动画:
API支持
Vega的Reanimated库提供Turbo模块,该模块提供了对下面列出的大多数方法的支持。Animations
核心
滚动
设备
线程
worklet化
worklet化意味着将JavaScript函数转换为可序列化的对象,该对象可以在用户界面线程上复制和运行。函数标有“worklet”。指令由Reanimated Babel插件自动获取并进行worklet化。实用工具
高级API
例外情况
Vega上的Reanimated库在API支持方面有一些例外。 Vega不支持以下挂钩和方法:useAnimatedSensoruseAnimatedKeyboarduseReducedMotion- 结构上的
Layout Animations
CSS转换CSS Animations
SETs (Shared Element Transitions)
Vega已知问题
- 使用快速刷新后,使用
withRepeat的动画停止重复。 - 使用快速刷新后,动画上的样式不会更新。

