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

React 18+NativeBase下SSRProvider无用警告的解决求助

解决React 18中SSRProvider冗余警告的方案

问题根源

你的项目代码里没直接引入SSRProvider,但NativeBase 3.4.28内部依赖的旧版@react-aria系列包仍会在React 18环境下自动注入该组件。而React 18已内置SSR相关支持,因此触发了冗余警告。

具体解决步骤

1. 升级NativeBase到兼容版本

NativeBase 3.x后期版本已修复该问题,直接升级到最新3.x稳定版:

npm install native-base@latest
# 或使用yarn
yarn add native-base@latest

2. 强制统一@react-aria/ssr版本

若升级NativeBase后警告仍存在,手动指定支持React 18的@react-aria/ssr版本:

  • yarn用户:在package.json中添加resolutions字段

    "resolutions": {
      "@react-aria/ssr": "^3.8.0"
    }
    

    执行yarn install生效。

  • npm用户:先安装依赖工具,再配置版本

    npm install -g npm-force-resolutions
    

    在package.json中加入:

    "resolutions": {
      "@react-aria/ssr": "^3.8.0"
    },
    "scripts": {
      "preinstall": "npx npm-force-resolutions"
    }
    

    执行npm install生效。

3. 清理缓存并重启项目

完成上述操作后,清理缓存避免旧代码残留:

# 清理包管理器缓存
npm cache clean --force
# 或
yarn cache clean

# 清理React Native缓存
npx react-native start --reset-cache

之后重新启动项目。

4. 排查其他第三方依赖

若警告依旧,用命令查看依赖树,确认是否有其他库引入旧版@react-aria/ssr:

npm ls @react-aria/ssr
# 或
yarn list @react-aria/ssr

找到对应依赖包后,要么升级该包,要么用resolutions强制替换其依赖的@react-aria/ssr版本。

内容的提问来源于stack exchange,提问作者avinash akula

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 11:37:09