as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
Ring
AWS
文档
Support
Contact Us
My Cases
新手入门
设计和开发
应用发布
参考
支持
跳转到主要内容
React Native Reanimated库扩展了动画库API,并在使用基于手势的交互时提供了更大的灵活性。 使用Reanimated,您可以轻松创建在用户界面线程上运行的流畅动画和交互。

文档

有关此库及其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线程的基础。
  1. 在package.json文件中添加JavaScript库依赖项:
  1. 将Reanimated Babel插件添加到babel.config.js文件中:
  2. 运行以下命令,清除Metro bundler缓存:
  3. 运行npm install命令重新安装package-lock.json文件。
有关其他信息和上下文,请参阅Software Mansion文档中的Installation(仅提供英文版)。

示例

以下示例说明如何使用withTiming方法在无限循环中运行简单动画。
以下示例展示如何使用withSpring函数运行基于弹簧的动画:

API支持

Vega的Reanimated库提供Turbo模块,该模块提供了对下面列出的大多数方法的支持。

Animations

核心

滚动

设备

线程

worklet化

worklet化意味着将JavaScript函数转换为可序列化的对象,该对象可以在用户界面线程上复制和运行。函数标有“worklet”。指令由Reanimated Babel插件自动获取并进行worklet化。

实用工具

高级API

例外情况

Vega上的Reanimated库在API支持方面有一些例外。 Vega不支持以下挂钩和方法:
  • useAnimatedSensor
  • useAnimatedKeyboard
  • useReducedMotion
  • 结构上的Layout Animations
  • CSS转换
  • CSS Animations
  • SETs (Shared Element Transitions)

Vega已知问题

  • 使用快速刷新后,使用withRepeat的动画停止重复。
  • 使用快速刷新后,动画上的样式不会更新。

支持的版本

其他资源

有关其他库的信息,请参阅支持的第三方库和服务。

Credits

该项目的构建和维护工作得到了Shopify、Expo.io和Software Mansion的支持。
最后修改于 2026年10月26日