我在事件处理程序中像下面这样捕获输入值:
import React from 'react';
export class Newsletter extends React.Component {
handleClick(event) {
let newsletterId = event.target.value;
console.log(newsletterId);
}
constructor(props) {
super(props);
this.state = {
newsletter: this.props.newsletter,
}
}
render() {
return (
<div className="col-sm-4 col-xs-12">
<button onClick={this.handleClick.bind(this)}
value={this.state.newsletter.pk}>
<span className="fa fa-arrow-right"></span>
</button>
</div>
)
}
}
这段代码表现得很奇怪。有时目标值变成了undefined
。有时我获得了正确的newsletterId
,而有时却得到undefined
。请参见下面的截图:
然后我把event.target.value
改为event.currentTarget.value
。现在它运行得很顺畅。
所以,问题是,在这种情况下event.target.value
和event.currentTarget.value
之间有什么区别?