React Native报错:BlurView未在UIManager中找到,求解决方案
解决
requireNativeComponent: "BlurView" was not found in the UIManager错误及替代方案 原库修复方案
根据项目类型,尝试以下针对性步骤:
裸React Native项目
- 重新执行原生链接:
npx react-native link @react-native-community/blur - 清理缓存并重启开发服务:
npx react-native start --reset-cache - 修复iOS依赖:进入项目
ios目录,执行以下命令后重新编译iOS项目:pod deintegrate && pod install - 确认Android配置(仅RN 0.59及以下版本需要):检查
android/app/src/main/java/[你的包名]/MainApplication.java,确保getPackages()方法中已添加new BlurPackage()。
Expo项目
@react-native-community/blur无法直接在Expo Go中使用(Expo Go不支持自定义原生模块),建议直接替换为官方兼容库。
关于手动补充node_modules文件的可行性
不建议手动补充node_modules中的文件。该错误的核心是原生模块未正确链接/编译,而非JS层文件缺失。手动修改node_modules会导致版本不匹配、原生代码编译冲突等问题,后续更新依赖还会覆盖你的修改,无法从根本上解决问题。
兼容React Native和Expo的替代库
- expo-blur
- 官方维护,完美兼容Expo(包括Expo Go)和裸RN项目
- API设计与@react-native-community/blur高度相似,迁移成本低
- 支持
BlurView和VibrancyView,提供多种模糊样式选项
- react-native-blurhash
- 专注于图片模糊占位场景,适合加载图片时的过渡效果
- 兼容RN和Expo项目
- @react-native-masked-view/masked-view
- 可配合其他组件实现局部模糊效果,适合定制化需求较强的场景
内容的提问来源于stack exchange,提问作者Ry2254
相关产品推荐
相关产品推荐

