as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
Ring
AWS
文档
Support
Contact Us
My Cases
新手入门
设计和开发
应用发布
参考
支持
跳转到主要内容
@amazon-devices/react-native-worklets是React Native多线程库,为Reanimated的性能功能提供基础支持。您可以在多个线程和运行时上并行执行JavaScript代码,从而实现流畅的动画和交互,避免阻塞主线程。

什么是Worklet?

Worklet是可序列化并在不同线程上执行的JavaScript函数。当您使用'worklet'指令标记函数时,Babel插件会将其转换为可序列化的格式,以便复制并在用户界面线程或其他自定义运行时上执行。

主要功能

  • 多线程:在不同的线程(用户界面线程、自定义worklet运行时)上执行JavaScript代码
  • 零副本序列化:在线程间高效传输函数,且无性能开销
  • Babel插件集成:自动将标记的函数转换为worklet
  • 运行时创建:为特定工作负载创建自定义JavaScript运行时
  • 无缝集成:与Reanimated无缝协作,支持动画和手势处理

文档

查看专门的文档页面,了解有关此库、API参考等的信息:https://docs.swmansion.com/react-native-worklets/(仅提供英文版)。

安装

  1. 在package.json文件中添加JavaScript库依赖项。
  2. 将@amazon-devices/react-native-worklets/plugin插件添加到babel.config.js
  3. 执行npm start -- --reset-cache命令,清理Metro bundler缓存。
  4. 使用npm install命令重新安装package-lock.json文件。
  5. 如需更多详细信息,可参考外部文档的安装部分(仅提供英文版)。

示例

演示如何创建和使用自定义worklet运行时,以进行并行处理。
线程切换示例

API

Vega上的Worklet库提供了全面的多线程、内存管理和实用函数API。

线程

内存

实用工具

Vega上的例外情况

Vega上的Worklets库在API支持方面有一些例外。此部分将介绍这些例外情况。
  • Vega目前不支持Feature标记
  • Vega目前不支持Bundle标记

支持的版本

Credits

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