javascript - 语法:针对不同状态属性的 React 中的 handleChange() 函数
问题描述
这是一个 handleChange 函数,它接收将与之绑定的状态元素的名称。
有人可以向我解释为什么它必须这样写:
handleInputChange(property) {
return e => {
this.setState({
[property]: e.target.value
});
};
}
不能这样写:
handleInputChange(property, e) {
this.setState({
[property]: e.target.value
});
}
我似乎不明白如何概念化第一个实际做了什么。
解决方案
第一个返回一个函数,因此调用它的结果将用作onChange
处理程序:
<input onChange={this.handleInputChange('someProperty')} value={someProperty} />
第二个是一个常规的类方法,它接受一个属性字符串和一个事件,您可以从onChange
处理程序中传递它们:
<input onChange={(e) => this.handleInputChange('someProperty', e)} value={someProperty} />
推荐阅读
- excel - 刷新 Excel 中的所有 Access 数据连接取消保护和保护工作簿错误
- visual-studio - TFS:在两个分支之间合并 .csproj 文件,两个分支之间有项目引用
- asp.net-mvc - 如何在 AMP 和 .NET 中处理 IF 语句
- php - 更改附件名称:wp_mail PHP
- postgresql - 在 docker 容器中运行 pg_dump 并将文件输出到主机
- xslt - 将 XML 元素的名称替换为任意位置的属性值
- javascript - 量角器,如果其他类具有相同的类名,如何获取元素
- android - 图层列表 - 边距底部
- python-2.x - 当我从用户那里获取输入并想要转换该输入时,系统错误
- java - 为什么 Java 中的 contains() 方法不能按预期工作?