You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native Reanimated创建Worklet失败,已配置Babel插件仍报错

解决React Native Reanimated无法创建Worklet的问题

针对你遇到的TypeError: Cannot read property 'isConfigured' of undefined和[Reanimated] Failed to create a worklet错误,以下是几个针对性的排查和解决步骤:

  • 检查版本兼容性
    确认React Reanimated版本与你的React Native版本匹配,Reanimated不同版本对RN版本有明确要求,比如Reanimated 3.x需要RN 0.71及以上版本,可查看官方文档的版本兼容说明。

  • 确保Babel配置完全正确
    除了将react-native-reanimated/plugin放在插件数组末尾,还要注意:

    • 使用babel.config.js而非.babelrc作为配置文件(后者在部分场景下优先级或生效范围有问题)
    • 配置示例:
      module.exports = {
        presets: ['module:metro-react-native-babel-preset'],
        plugins: [
          // 其他Babel插件放在前面
          'react-native-reanimated/plugin', // 必须是最后一个插件
        ],
      };
      
    • 如果是Monorepo项目,要保证Babel配置在根目录或对应子项目中正确生效。
  • 启用Hermes引擎
    Reanimated 2及以上版本依赖Hermes,需确认已开启:

    • Android:在android/app/build.gradle中设置enableHermes: true
      project.ext.react = [
        enableHermes: true,
      ]
      
    • iOS:在Podfile中配置Hermes相关选项后,执行pod install
  • 彻底清除所有缓存并重建
    尝试更彻底的缓存清理步骤:

    • 清除Metro缓存:npx react-native start --reset-cache
    • 清除Android构建缓存:cd android && ./gradlew clean
    • 清除iOS依赖缓存:cd ios && rm -rf Pods Podfile.lock && pod install
    • 重新安装Node依赖:rm -rf node_modules && npm install(或yarn install)
  • 排查Babel插件冲突
    部分Babel插件(如代码压缩、日志移除类插件)可能与Reanimated插件冲突,可尝试暂时禁用其他插件,验证是否解决问题。

  • 检查Worklet代码写法
    确保Worklet函数开头添加了'worklet';指令:

    const myWorklet = () => {
      'worklet';
      // Worklet逻辑代码
    };
    

    同时避免在Worklet中调用不兼容的API(如React的setState)。

内容的提问来源于stack exchange,提问作者Sunnysun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 05:42:15