【发布时间】:2016-06-03 09:55:41
【问题描述】:
我正在使用 React,但这不一定是 React 特定的问题。
在事件处理程序中获取自定义数据属性是否有主要区别
<MyElement greeting="hello" farewell="goodbye" />
//MyElement component
handleClick(event) {
console.log(event.currentTarget.dataset.myData);
}
...
<li data-my-data={this.props.greeting} onClick={this.handleClick}>Click Greeting</li>
<li data-my-data={this.props.farewell} onClick={this.handleClick}>Click Farewell</li>
并将值绑定到事件处理程序
<MyElement greeting="hello" farewell="goodbye" />
//MyElement component
handleClick(myData) {
console.log(myData);
}
...
<li onClick={this.handleClick.bind(this, this.props.greeting)}>Click Greeting</li>
<li onClick={this.handleClick.bind(this, this.props.farewell)}>Click Farewell</li>
这只是个人喜好问题,还是每个都有实际的利弊?
【问题讨论】:
-
第一个选项是安全的。没有人有权修改它。但是第二个选项人们可能会错误地更改值。
标签: javascript html reactjs