繁体   English   中英

初始化反应组件状态

[英]Initializing react component state

我遇到了一些反应代码,它们在类中定义了一个组件状态,如下所示:

// Snippet 1
class Sample extends React.Component {
    state = {
        count: 0
    }
}

我学习React的方法是在类的构造函数中声明状态:

// Snippet 2
class Sample extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            count: 0
        };
    }
}

我能想到的唯一区别是初始化构造函数中的状态将保证状态在组件生命周期中正确初始化。

上面两个代码片段之间有什么区别? 在代码段1中,可以安全地假设在初始化类时正确设置状态?

您正在关注的是ES7+ Property Initializers 它是这样做的,因为Facebook知道Javascript将来会改变。 他们希望能够应对这些变化。

根据facebook ES7 + Property Initializers

等等,分配属性似乎是定义类的一种非常必要的方式! 你是对的,但是,我们这样设计它是因为它是惯用的。 我们完全期望在将来的JavaScript版本中使用更具声明性的属性初始化语法....

这里是Facebook 链接还有更多信息在这里

也是该提案链接

在babel上使Class看起来更干净只是一种语法糖: https//babeljs.io/docs/plugins/transform-class-properties/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM