从文档中学习React
并遇到以下示例:
class Square extends React.Component {
constructor() {
super();
this.state = {
value: null,
};
}
...
}
根据Mozilla的说法,super允许您this
在构造函数中使用。是否有其他原因可以单独使用super
(我知道super
也可以访问父类的方法),但是使用React时,是否还有其他仅super()
通过自身调用的用例?
super()
仅在具有构造函数的React组件内部被调用。例如,以下代码不需要超级:
class App extends React.component {
render(){
return <div>Hello { this.props.world }</div>;
}
}
但是,如果我们有一个构造函数,那么它super()
是强制性的:
class App extends React.component {
constructor(){
console.log(this) //Error: 'this' is not allowed before super()
}
}
之所以this
不能被允许之前的原因super()
是因为this
未super()
调用if未初始化。但是,即使不使用,this
我们也需要super()
内部构造函数,因为ES6 class constructors MUST call super if they are subclasses
。因此,super()
只要有构造函数,就必须调用。(但是子类不必具有构造函数)。
super(props)
如果必须使用this.props
,我们可以在构造函数内部调用,例如:
class App extends React.component{
constructor(props){
super(props);
console.log(this.props); // prints out whatever is inside props
}
}
我希望我能说清楚。
问题内容: 我正在处理一个扩展的类。 这不是我的代码,它在开始构造GUI之前先进行调用。我想知道为什么要这样做,因为我一直只访问超类的方法而不必调用; 问题答案: 对于具有父级的所有类(这是Java中每个用户定义的类),都有一个不带参数的隐式调用,因此通常不需要显式调用。但是,如果父级的构造函数接受参数,并且你希望指定它们,则可以使用参数调用。此外,如果父级的构造函数接受参数,并且没有默认的无参数
本文向大家介绍React组件的构造函数有什么作用?相关面试题,主要包含被问及React组件的构造函数有什么作用?时的应答技巧和注意事项,需要的朋友参考一下 在react的新的写法中,每一个组件都是一个类,这个很符合es6的语法规范,在es6中要想创建一个对象,就要调用相应的构造函数, react的组件渲染有两种情况,第一种情况是第一次渲染,第二种情况是状态更新时候重新渲染,构造函数在组件的初次渲染
问题内容: 代码是什么 在构造函数内部吗? 例如,这是我的课程的构造函数 它和超类有关吗? 问题答案: 它调用父类的构造函数
问题内容: 众所周知,您可以使用类型参数在Java中创建一个通用类: 但是,您也可以使用泛型 构造函数 ,这意味着显式接收其自己的泛型类型参数的构造函数,例如: 我正在努力了解用例。这个功能让我做什么? 问题答案: 这个功能让我做什么? 它至少可以让您完成 三 件事,而这 三 件事是您无法做到的: 表达参数类型之间的关系,例如: } <撤回> 正如@Lino首先观察到的那样,它使您可以表达参数必须
我知道这个问题被问了很多次,但仍然不清楚。很多人刚才说, 如果您想访问,请将道具传递给构造函数 答案的另一个例子 Oficial doc说类组件应该始终使用props调用基构造函数,但如果我们不将传递给,我们仍然会将放在除构造函数之外的所有地方。 同样从react源代码中,我们可以看到react.Component 但这更让我困惑应使用两个参数调用:和。但是我们调用了super-empty,仍然可
问题内容: 我见过两者可以互换使用。 两者的主要用例是什么?有优点/缺点吗?是更好的做法吗? 问题答案: 这两种方法不可互换。使用ES6类时,应在构造函数中初始化状态,并使用时定义方法。 请参阅有关ES6类的官方React文档。 相当于