什么等同于es5中的以下代码?
constructor(props) {
super(props);
this.state = { ...this.props };
}
答案 0 :(得分:1)
如果不使用任何> = ES6语法,该代码看起来就像这样。
function MyComponent(props) {
// super(props)
React.Component.call(this, props);
// this.state = { ...this.props };
this.state = Object.assign({}, props);
}
Babel的网站has a repl,您可以使用它来查看已编译代码的确切内容。
在这种情况下it's quite complex,因为它主要包含在Babel用于为ES5填充ES6类的类实用程序中。
this.state = { editFlag : false, ...this.props }
的第二个例子类似。
this.state = Object.assign({}, editFlag: false, this.props);