#React 将超级构造函数与props参数一起使用的目的是什么
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在调用方法this之前,子类构造函数无法使用引用super()。ES6子类也是如此。将props参数传递给super()call的主要原因是this.props在子构造函数中进行访问。
传递道具:
class MyComponent extends React.Component {
  constructor(props) {
    super(props)
    console.log(this.props) // prints { name: 'John', age: 42 }
  }
}
 
不通过道具:
class MyComponent extends React.Component {
  constructor(props) {
    super()
    console.log(this.props) // prints undefined
    // but props parameter is still available
    console.log(props) // prints { name: 'John', age: 42 }
  }
  render() {
    // no difference outside constructor
    console.log(this.props) // prints { name: 'John', age: 42 }
  }
}