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

Expo 4.12.0集成Native Base 3.2.0启动时forwardRef参数警告如何解决?

警告产生原因

该警告是Native Base 3.2.0版本本身的代码bug导致,和项目自身代码、Expo版本无关:
React规范要求forwardRef包裹的渲染函数必须接收两个参数:props和ref,即使开发时不需要用到ref参数也必须显式声明。从错误栈可以看到,Native Base 3.2.0内置的SkeletonCircle组件的forwardRef实现只声明了第一个props参数,没有接收第二个ref参数,触发了React的参数校验逻辑,进而抛出该警告。

修复方案
  • 方案1:升级Native Base到更高稳定版本
    该bug已经在Native Base后续版本被官方修复,直接执行依赖更新命令即可:
    # npm
    npm install native-base@latest
    # yarn
    yarn add native-base@latest
    
    升级完成后重启项目,警告会自动消失。
  • 方案2:临时屏蔽警告
    如果项目暂时无法升级Native Base版本,可以在项目入口文件(如App.js)最顶部添加代码屏蔽该类警告,不会影响项目正常功能运行:
    import { LogBox } from 'react-native';
    LogBox.ignoreLogs(['Warning: forwardRef render functions accept exactly two parameters']);
    
  • 方案3:手动修改依赖源码
    不需要升级版本也可以直接修复问题,找到路径node_modules/native-base/src/components/composites/Skeleton/SkeletonCircle.tsx,将文件中forwardRef的渲染函数参数补全第二个ref参数即可,示例修改:
    // 修改前
    const SkeletonCircle = forwardRef((props) => {
    // 修改后
    const SkeletonCircle = forwardRef((props, ref) => {
    
    修改完成后重启项目即可,注意重新安装node_modules后修改会被覆盖,需要重新操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 23:42:02