Javascript ReactJS构造函数“this”未定义错误

Javascript ReactJS构造函数“this”未定义错误,javascript,reactjs,Javascript,Reactjs,我在构造函数中未定义此错误。 让我知道这背后的原因。我从源代码中读到,要么编译器自动创建构造函数并提供此引用,要么需要手动添加构造函数,并将super作为第一条语句 class A extends Component { constructor() { // this undefined error console.log('construtor'); this.state = {name: ''} } } 在super之前不允许这样做的原因是,

我在构造函数中未定义此错误。 让我知道这背后的原因。我从源代码中读到,要么编译器自动创建构造函数并提供此引用,要么需要手动添加构造函数,并将super作为第一条语句

class A extends Component {
  constructor() {
    // this undefined error
    console.log('construtor');
    this.state = {name: ''}        
  }
}

在super之前不允许这样做的原因是,如果不调用super,则这是未初始化的。然而,即使我们不使用它,我们也需要在构造函数中使用一个super,因为ES6类构造函数必须调用super,如果它们是子类的话。因此,只要有构造函数,就必须调用super。但是子类不必有构造函数

在super中发送道具不是强制性的。如果您不想使用this.props,那么您可以简单地调用super

class A extends React.Component {   
    constructor(props) {
    super(props);
    console.log('construtor');
    this.state = {name: ''}           
    } 
}

在super之前不允许这样做的原因是,如果不调用super,则这是未初始化的。然而,即使我们不使用它,我们也需要在构造函数中使用一个super,因为ES6类构造函数必须调用super,如果它们是子类的话。因此,只要有构造函数,就必须调用super。但是子类不必有构造函数

在super中发送道具不是强制性的。如果您不想使用this.props,那么您可以简单地调用super

class A extends React.Component {   
    constructor(props) {
    super(props);
    console.log('construtor');
    this.state = {name: ''}           
    } 
}

子类必须具有super-in构造函数才能进行初始化。没有超级用户,不允许访问“this”

class A extends React.Component {
      constructor(props) {
           super(props);
           console.log('construtor');
           this.state = { name: ''}
      }
}

子类必须具有super-in构造函数才能进行初始化。没有超级用户,不允许访问“this”

class A extends React.Component {
      constructor(props) {
           super(props);
           console.log('construtor');
           this.state = { name: ''}
      }
}