Javascript 关于在react中使用ES6类

Javascript 关于在react中使用ES6类,javascript,reactjs,class,ecmascript-6,Javascript,Reactjs,Class,Ecmascript 6,我有一些关于在react中使用ES6类的问题 问题如下 关于在react中创建组件 我用这种方式 class A extends Component{ constructor(){ this.state = { 'blah' : 123 } } } 但我看到了另一种方式 class A extends Component{ state = { 'blah' : 123 } } 问题

我有一些关于在react中使用ES6类的问题

问题如下

关于在react中创建组件

我用这种方式

class A extends Component{
    constructor(){
        this.state = {
            'blah' : 123
        }
    }
}
但我看到了另一种方式

class A extends Component{
    state = {
        'blah' : 123
    }    
}
问题1)

第一种方式和第二种方式的区别是什么

问题2)

在我建造的环境中

第二种方法生成一个错误


如何使用第二种方式?(直接定义状态)

问题1:第一种和第二种方法没有区别,都可以用来初始化状态

问题2:您可以在react版本16或更高版本中使用第二种方法。旧版本不支持它。对于旧版本,您仍然需要使用方法1,即构造函数方法


我希望这对你有帮助。

它们是等效的。第二个是目前关于用这种语法扩展语言的建议。您需要配置生成工具以理解此语法。请检查此语法完全独立于您使用的React版本。这与React无关。@FelixKling好的,那么是什么造成了与Babel或其他任何东西不同呢?是的,这个Babel插件负责执行转换:非常感谢!!这些答案对我很有帮助