我的onChange处理程序得到了未经检测的令牌,我想使用e.target.name,我希望是关键字,出了什么问题?
onChange = e => {
this.setState({
e.target.name: e.target.value //error here
})
}
render() {
return (
<section>
<input type="text" name="keyword" value={this.state.keyword} onChange={() => this.onChange} />
</section>
)
}
答案 0 :(得分:4)
如果要使用计算属性名称,请使用以下语法:
onChange = e => {
this.setState({
[e.target.name]: e.target.value
})
}
render() {
return (
<section>
<input type="text" name="keyword" value={this.state.keyword} onChange={this.onChange} />
</section>
)
}
此外,您无需在匿名函数中传递onChange
函数。只需将其传递给onChange
prop。