React Native中Reanimated创建Worklet失败问题求助
问题解决方案
一、先处理「Reanimated 创建 worklet 失败」错误
以下是针对性排查步骤:
- 确保Reanimated Babel插件顺序正确:你的Babel配置里已经把
react-native-reanimated/plugin放在所有插件最前面,这是正确的,后续新增插件需放在它之后,避免干扰。 - 强制清理Metro缓存:停止当前Metro服务,执行命令:
之后重新运行项目(npx react-native start --reset-cachenpx react-native run-android/npx react-native run-ios)。 - 校验依赖版本兼容性:@gorhom/bottom-sheet与Reanimated版本需匹配:
- v4版本的bottom-sheet要求Reanimated ≥2.10.0
- v5版本要求Reanimated ≥3.0.0
打开package.json核对两个依赖的版本,不匹配则升级/降级到兼容版本,重新安装依赖(npm install/yarn install)后清理缓存重启项目。
- 确认Hermes已启用:Reanimated依赖Hermes引擎,检查以下配置:
- Android:打开
android/app/build.gradle,确保enableHermes = true - iOS:打开
ios/Podfile,确保use_react_native!(..., :hermes_enabled => true)
修改后重新构建原生项目: - Android:执行
cd android && ./gradlew clean,再回到根目录运行项目 - iOS:执行
cd ios && pod install,再回到根目录运行项目
- Android:打开
二、处理「Brightiets 未注册」错误
这个错误大概率是Reanimated报错导致组件加载失败,或是Metro缓存/项目配置问题,可同步执行以下操作:
- 检查根组件注册:打开项目入口文件(通常是
index.js或App.js),确认AppRegistry.registerComponent的第一个参数与package.json中的name字段完全一致(比如你的项目name是Brightiets,代码应为AppRegistry.registerComponent('Brightiets', () => App)),且App组件正确引入并渲染了Home组件。 - 重启Metro服务:彻底关闭当前Metro窗口,回到项目根目录重新启动Metro并重置缓存(命令同上)。
额外提示
如果以上步骤都无效,尝试删除node_modules、android/build、ios/build目录,重新安装依赖后再构建项目。
内容的提问来源于stack exchange,提问作者Mohsin S S
相关产品推荐
相关产品推荐

