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