首页 > 其他分享 >rn项目下载@ant-design/react-native时发生冲突

rn项目下载@ant-design/react-native时发生冲突

时间:2023-02-16 19:36:10浏览次数:49  
标签:ant 17 react design rn native

rn项目,使用npm i @ant-design/react-native下载antd。

下载依赖时报错:

 

如果你也遇到这个问题,直接告诉你结论,那就是最新的@ant-design/react-native5.0.3不支持react 18。要么使用--legacy-peer-deps忽略警告,但可能会在真机上出现bug,要么自己手动降到react 17。

如果你对为什么感兴趣的话,可以接着往下看。

报错中说的是@react-native-picker/[email protected]只支持react 16或17。

查看一下@react-native-picker/picker版本,大版本为1的最新版本确实就是@1.16.8,已经没法再更新了。

奇怪,难道@ant-design/[email protected]的依赖中,react版本号不是18?

我先到npm上搜了一下,@ant-design/react-native对应的github仓库是ant-design-mobile-rn。

然后到github上看[email protected]的package.json,发现react的版本为17.0.2。

破案,原来@ant-design/[email protected]并不支持react 18。

去到issue上一查,果然有这个问题https://github.com/ant-design/ant-design-mobile-rn/issues/1284

issue中,工作人员说支持react 18,提问者说大部分情况下没问题,但是在ios上会出现闪退。

接下来有两个想法,要么使用--legacy-peer-deps忽略警告,但是可能会在ios上出现bug,要么将react降到17。

我优先尝试后者,毕竟项目的稳定运行最重要。

但试了一会儿我放弃了,因为降到react 17后,react-native对应的项目模板没有配typescript,只有使用react 18的版本中才配了typescript。

这样的话...我选择使用--force强制下载依赖,因为我现阶段只是学习使用rn开发项目,而不是真正开发商业rn项目,所以先自己怎么舒服怎么来。

要是什么时候工作中要用到rn开发新项目了,那就不得不使用react 17,然后自己配typescript了。知道原因,后续怎么做就清晰了。

 

标签:ant,17,react,design,rn,native
From: https://www.cnblogs.com/hdxg/p/17128007.html

相关文章