gpt4 book ai didi

javascript - ReactJS 构造函数 'this' 未定义错误

转载 作者:行者123 更新时间:2023-11-30 07:53:41 26 4
gpt4 key购买 nike

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

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

最佳答案

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

在 super 中发送 Prop 不是强制性的。如果你不想使用 this.props 那么你可以简单地调用 super()。

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

关于javascript - ReactJS 构造函数 'this' 未定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46410706/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com