reactjs - 定义 React 组件的两种方式有什么不同?
问题描述
有 2 种方法来定义 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 })
}
....
}
这两个代码是相同的功能,但我想有一些不同的东西,比如内存使用等等。
有人能说清楚吗?提前致谢!
解决方案
第一个是传统方法,第二个是当你使用babel-transform-class-properties插件时。在第二种类型中,babel 在引擎盖下做同样的事情,因此这是一个方便的问题。
推荐阅读
- c# - 如何替换 Queryable 中的列
以通用方式不执行 Queryable - python-3.x - 数字化热图并将像素映射到值
- authentication - Istio authservice oidc 无法交换访问令牌的授权码
- node.js - 运行 ng 命令时“getColorDepth 不是函数”
- tensorflow - keras中Conv1D之前的掩蔽
- c# - System.DirectoryServices.ActiveDirectory 的端口要求
- onenote - 带有 One Note Javascript API 的嵌套部分组
- image - Twilio 向 WhatsApp 发送多张图片
- parallel-processing - 使用多线程进行滚动功能
- go - 使用 golang 在 gcp 中创建实例时添加启动脚本