RN中与其他依赖react-native-svg的库冲突
遇到的问题
报错
Tried to register two views with the same name RNSVGRect
复现过程
引入其他使用react-native-svg的库,比如react-native-shadow
分析出错原因
replace的这一行 使用的是react-native-svg/lib/commonjs而不是react-native-svg 而react-native-svg在RN中默认的导出是src/index.ts 如果在其他组件中引用react-native-svg就会造成原生模块的重复定义
修改建议
改为直接引用react-native-svg
使用的是react-native-svg/lib/commonjs而不是react-native-svg
之前是因为会报错找不到 react-native-svg,所以才替换成 react-native-svg/lib/commonjs,这个问题一直存在。
引入其他使用react-native-svg的库,比如react-native-shadow
我周一复现看看。
@aoarashi1988 早一点看到你说的问题就好了,快坑哭了。只知道多次引用的原因,但是没想到是这个库的问题。
@fwh1990 我安装react-native-qrcode-svg就出现这个问题
@kkage @aoarashi1988 请问你们用的是什么壳子,以及壳子版本?
@fwh1990 0.59.9 taro-native-shell
@kkage @aoarashi1988 Hello,我发布了2.1.0版本解决了这个问题。
在[email protected]中,必须使用react-native-svg/lib/commonjs,有需要再做兼容吧,也许大家都已经升级到[email protected]了