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

React Native中super(props)真的已废弃还是仅VS Code警告?

解决React中super(props)废弃警告的问题

Hey there, let's clear up this confusing warning for you!

为什么会出现这个警告?

在React的较新版本中,super(props)确实被标记为废弃状态,但那个警告里的链接完全是误导——它指向的是旧的上下文API文档,和你现在使用的基础类组件构造函数写法没有半毛钱关系。

核心原因是:React现在会自动将props绑定到类组件实例上,你再也不需要手动把props传递给super()了。

针对你的代码的解决方案

你的组件构造函数代码是:

constructor(props) { 
  super(props); 
  this.state = { }; 
}

你有两种更简洁且符合当前React规范的写法:

  1. 完全去掉构造函数(推荐)
    如果你只是初始化state,直接在类中声明state即可,不需要构造函数:

    class YourComponent extends React.Component {
      state = { };
    
      // 你的其他组件方法...
    }
    
  2. 保留构造函数但简化写法
    如果你确实需要构造函数来做其他初始化逻辑(比如绑定事件处理函数),只需要写super()而不是super(props):

    constructor(props) {
      super();
      this.state = { };
      // 这里如果需要用到props,直接用传入的props参数就行,不用this.props
    }
    

额外说明

如果在构造函数里你非要用this.props(虽然现在几乎没有必要),其实即使你只写super(),React也会在构造函数执行完成后把props绑定到实例上,所以后续的方法里依然能正常访问this.props。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 11:17:28