Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript React类属性与ES6类属性_Javascript_Reactjs - Fatal编程技术网

Javascript React类属性与ES6类属性

Javascript React类属性与ES6类属性,javascript,reactjs,Javascript,Reactjs,在React 16.2中,类属性可以这样定义,请参见标语: class Header extends React.Component { tagLine = "Super Hero"; render() { .... } } 但是,在ES6类中,无法定义类属性标记行,如下所示: class Header { tagLine = "Super Hero"; } React类是否具有与ES6类不同的特殊语法?React类是标准ES6类。类字段是第3阶段的建议-,您需要一个tran

在React 16.2中,类属性可以这样定义,请参见标语:

class Header extends React.Component {
 tagLine = "Super Hero";
 render() {
   ....
 }
}
但是,在ES6类中,无法定义类属性标记行,如下所示:

class Header {
  tagLine = "Super Hero";
}

React类是否具有与ES6类不同的特殊语法?

React类是标准ES6类。类字段是第3阶段的建议-,您需要一个transpiler()来使用它

示例:

类标题{
标语=“超级英雄”;
}

log(新的头())React类是标准ES6类。类字段是第3阶段的建议-,您需要一个transpiler()来使用它

示例:

类标题{
标语=“超级英雄”;
}

log(新的头())反应类不是标准ES6类。它们是ES6类的一个非常特殊的例子,具有不同的生命周期方法和不同的实现模式。例如,在React.React的组件和PureComponent中,使用标准类继承来扩展基本的React类-
类C扩展组件
。所以React组件是ES6类。然而,继承链-A扩展了B,B扩展了C,等等。。。这不是一件好事。这就是为什么React建议不要继续链,而是使用其他模式,例如合成或包含。这并没有改变组件(pure除外)是标准ES6类的事实。React类不是标准ES6类。它们是ES6类的一个非常特殊的例子,具有不同的生命周期方法和不同的实现模式。例如,在React.React的组件和PureComponent中,使用标准类继承来扩展基本的React类-
类C扩展组件
。所以React组件是ES6类。然而,继承链-A扩展了B,B扩展了C,等等。。。这不是一件好事。这就是为什么React建议不要继续链,而是使用其他模式,例如合成或包含。这并没有改变组件(pure除外)是标准ES6类的事实。