经过几天的互联网研究,我还没有解决我的问题。 我正在使用react-native-svg,我遇到了同样的问题: No component found for view with the name "RNSVGPath"
或者这个: Invariant Violation: Native component for "RNSVGSvgView" does not exist
我尝试了很多东西,包括:
react-native unlink react-native-svg
npm uninstall react-native-svg
npm install react-native-svg
react-native link react-native-svg
react-native run-ios
此外:
pod 'RNSVG', :path => '../node_modules/react-native-svg'
rm -rf node_modules
npm install
react-native run-ios
但仍然没有...... 这是我正在使用的版本:
"dependencies": {
"react": "16.1.1",
"react-native": "0.50.3",
"react-native-svg": "^6.0.1-rc.1"
}
我试图直接从XCode构建它,但仍然没有......
感谢您的帮助!
答案 0 :(得分:7)
你应该尝试这样做:
npm install react-native-svg --save //(again)
react-native link react-native-svg //(again)
watchman watch-del-all
rm -rf node_modules/ && yarn cache clean && yarn install
然后在另一个终端
npm start -- --reset-cache
在使用react-native run-ios启动ios应用程序之前,必须手动将libRNSVG.a添加到Xcode中的Linked Frameworks和Libraries
然后...... Tada
答案 1 :(得分:4)
SVG问题,我还塞了4个小时并得到了解决方案。
自动链接:
react-native link react-native-svg
不自动工作,然后您手动进行。
手动链接:
1将以下几行添加到android/settings.gradle:
include ':react-native-svg'
project(':react-native-svg').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-svg/android')
2在android/app/build.gradle:
implementation project(':react-native-svg')
3打开`android / app / src / main / java /[...]/ MainApplication.java
import com.horcrux.svg.SvgPackage;
添加到文件顶部的导入中。new SvgPackage()
添加到getPackages()
方法返回的列表中。如果已有内容,请在前一项中添加逗号。答案 2 :(得分:1)
我遇到了这个问题,因为从RN 0.51开始,“react-native link”被破坏了。完全删除后手动链接并重新安装在iOS上修复。
答案 3 :(得分:0)
Svg版本
有问题首先,取消链接svg然后删除svg的npm然后安装新的
"dependencies": {
"react": "16.1.1",
"react-native": "0.44.0",
"react-native-svg": "5.1.8"
}
答案 4 :(得分:0)
我有同样的问题,但是在Android上。
因此,如果您在相同的条件下,可以解决此问题,那么该问题专门发生在MainApplication上,因此您需要查看:
android/app/src/java/com/*/MainApplication.java
import com.horcrux.svg.SvgPackage;
new SvgPackage()
与列表getPackages()
中的其他字符一起添加(〜30行)