使用Expo集成@shopify/react-native-skia时导入示例遇SkiaDomView错误求助
解决
SkiaDomView 未在UIManager中找到的错误 问题原因
你遇到的错误是因为SkiaDomView属于react-native-skia库的原生组件,而Expo Go默认并未预装该库的原生模块,直接在Expo Go中运行依赖该组件的代码会触发此错误。
解决方案
方案1:使用Expo官方的expo-skia替代(推荐用于Expo项目)
如果你的Hello World示例依赖Skia组件,建议替换为Expo官方维护的expo-skia,它与Expo生态兼容更好:
- 安装
expo-skia:npx expo install expo-skia - 将代码中引用
react-native-skia的部分替换为expo-skia,例如:// 替换前 import { SkiaDomView } from '@shopify/react-native-skia'; // 替换后 import { SkiaDomView } from 'expo-skia'; - 重新启动Expo开发服务器,即可在Expo Go中正常运行。
方案2:使用自定义开发客户端(适用于必须用react-native-skia的场景)
如果必须使用react-native-skia,需要构建自定义开发客户端来包含该原生模块:
- 安装
expo-dev-client:npx expo install expo-dev-client - 执行预构建命令生成原生项目文件:
npx expo prebuild - 启动自定义开发客户端:
- 安卓:
npx expo run:android - iOS:
npx expo run:ios
- 安卓:
- 用生成的自定义客户端扫码加载项目,即可正常运行。
额外检查
- 确认项目中
react-native-skia或expo-skia的版本与Expo SDK版本兼容,避免版本不匹配导致的问题。 - 若导入的官方示例明确依赖
react-native-skia,则必须使用方案2,因为Expo Go无法直接支持第三方原生模块。
内容的提问来源于stack exchange,提问作者abdullah yıldız
相关产品推荐
相关产品推荐

