You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native依赖冲突求助:react-native-vector-icons@3.0.0与react@16不兼容

解决react-native-multiple-select-list@1.0.4与react@16的依赖冲突问题

我来帮你搞定这个依赖冲突的问题——本质上是react-native-multiple-select-list@1.0.4依赖的react-native-vector-icons@3.0.0是适配React老版本(对应React@15)的,和你项目里的React@16不兼容。下面是几个可行的解决方案:

方案1:升级react-native-multiple-select-list到兼容版本

这个包的1.0.4版本比较老旧,大概率后续版本已经更新了依赖的react-native-vector-icons版本来适配React@16。你可以:

  • 先查看包的所有可用版本:
    yarn info react-native-multiple-select-list versions
    
  • 安装最新版本(或者找一个明确标注支持React@16的版本):
    yarn add react-native-multiple-select-list@latest
    

升级后,新的依赖会自动适配React@16,冲突问题自然解决。

方案2:用Yarn的resolutions强制替换依赖版本

如果你不想升级多选列表包,可以通过Yarn的resolutions功能,强制让react-native-multiple-select-list使用兼容React@16的react-native-vector-icons版本(比如6.x及以上,推荐6.6.0这个稳定版):

  1. 在项目根目录的package.json中添加resolutions字段:
    "resolutions": {
      "react-native-multiple-select-list/react-native-vector-icons": "^6.6.0"
    }
    
  2. 重新安装依赖:
    yarn install
    

⚠️ 注意:这种强制替换可能存在小概率的兼容性风险,替换后一定要测试多选列表的图标显示、交互功能是否正常。

方案3:替换为维护更活跃的多选组件

如果上面两种方案都有问题,考虑换一个更现代的多选列表组件,比如react-native-multi-selectbox或者react-native-select-multiple,这些组件的依赖更适配React@16+,且维护更活跃:

  • 安装新组件(以react-native-multi-selectbox为例):
    yarn add react-native-multi-selectbox
    

然后迁移你的组件代码即可,这类组件的API和原组件差异不大,迁移成本不高。

内容的提问来源于stack exchange,提问作者Elad Cohen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:57:19