下面是一个handleChange函数,它接收要绑定到它的状态元素的名称。
有人能给我解释一下为什么要这样写吗?
handleInputChange(property) {
return e => {
this.setState({
[property]: e.target.value
});
};
}不能这样写:
handleInputChange(property, e) {
this.setState({
[property]: e.target.value
});
}我似乎不明白如何概念化第一个人到底在做什么。
发布于 2018-06-29 22:35:04
第一个函数返回一个函数,因此调用它的结果将用作onChange处理程序:
<input onChange={this.handleInputChange('someProperty')} value={someProperty} />
第二个方法是一个常规类方法,它接受一个属性字符串和一个事件,您可以从onChange处理程序中传递该属性字符串和事件:
<input onChange={(e) => this.handleInputChange('someProperty', e)} value={someProperty} />发布于 2018-06-29 23:30:03
我认为更好的方法是将输入的name设置为状态密钥。处理更改应该很容易。代码框上的代码示例:handleReactInputsChange
https://stackoverflow.com/questions/51110062
复制相似问题