【发布时间】:2018-11-20 05:17:57
【问题描述】:
定义 React 组件有两种方式。
第一个如下所示。
class SomeComponent extends React.Component {
constructor (props) {
super(props)
this.state = {
someState: false
}
this._handleOnChangeState = this._handleOnChangeState.bind(this)
}
_handleOnChangeState (e) {
this.setState({ someState: e.target.value })
}
....
}
第二个如下。
class SomeComponent extends React.Component {
state = {
someState: false
}
_handleOnChangeState = (e) => {
this.setState({ someState: e.target.value })
}
....
}
这两个代码是相同的功能,但我想有一些不同的东西,比如内存使用等等。
有人能说清楚吗?提前致谢!
【问题讨论】:
-
第二个不是标准的ES。
-
但确实有效,在很多例子中都能看到。
-
它之所以有效,是因为您将它与配置为转译阶段 3 提案的转译器一起使用。
-
除此之外 - 几乎没有什么理由可以让一个人比另一个人“更好”。
-
我想知道真正的几个原因!
标签: reactjs ecmascript-6 es6-class