Expo应用使用react-native-svg遇RNSVGPath组件配置回调错误求助
解决Expo中react-native-svg报错“View config getter callback for component
RNSVGPath must be a function (received undefined)” 这个报错核心原因是react-native-svg版本与Expo SDK不兼容,或是安装方式错误导致原生模块未正确注册。结合你的环境(Expo SDK 49.0.15 + react-native-svg 13.9.0),可以按以下步骤解决:
步骤1:重新安装适配版本的react-native-svg
Expo项目不要直接用npm/yarn安装react-native-svg,必须用Expo官方安装命令,它会自动匹配当前SDK对应的兼容版本:
# 先卸载现有包 npm uninstall react-native-svg # 或使用yarn yarn remove react-native-svg # 用expo install安装适配版本 expo install react-native-svg
Expo SDK 49对应的react-native-svg兼容版本为~13.10.0,手动安装13.9.0会存在兼容性问题。
步骤2:清除缓存并重启项目
缓存异常可能导致模块加载失败,执行以下命令清除缓存并重启:
expo r -c
步骤3:代码细节优化(可选)
虽然不是报错直接原因,但可以优化代码避免潜在问题:
- 将SVG属性中的
stroke-width改为驼峰式strokeWidth,符合JSX规范:
<Svg width={30} height={30} viewBox="0 0 30 30" fill="none" stroke="#000000" strokeWidth={4} strokeLinecap="round" strokeLinejoin="round" {...props} >
- 确认
Svg和Path确实从react-native-svg导入,没有错误导入其他库的同名组件。
额外检查
确保项目中没有同时安装expo-svg和react-native-svg,两者只能保留一个,Expo项目推荐使用react-native-svg。
内容的提问来源于stack exchange,提问作者Takodana
相关产品推荐
相关产品推荐

