在React组件中定义state
(在类和构造函数中参见以下示例)是否有区别(语法除外)?
在JS内存分配,内存管理,JS性能,内存泄漏,垃圾回收,其他问题方面有区别吗?
我通常在state
中定义constructor
。但是查看其他人的代码后,我发现他们在类范围内定义状态。
class Button extends React.Component {
// this style vs. ...
state = {
color: 'red'
}
constructor(props) {
super(props)
// ... vs. this style
this.state = {
color: 'red'
}
}
}
答案 0 :(得分:1)
在构造函数外部初始化实例属性是EcmaScript下一版本的建议语法。它是official stage 3 proposal的一部分。
根据此提案,以下代码段:
class MyClass {
constructor() {
console.log("Hello from constructor!");
this.x = 1;
}
}
可以缩写为:
class MyClass {
x = 1;
constructor() {
console.log("Hello from constructor!");
}
}
声明x
属性并使用与示例中的state
属性相同的语法对其进行初始化。
答案 1 :(得分:0)
它也是一种PREACT语法...