【发布时间】:2023-03-14 19:24:01
【问题描述】:
我设置了一个简单的组件,并试图弄清楚如何在同一个处理程序中传递参数和停止事件传播。在链接的示例中,我想将与正方形关联的数字传递给单击处理程序,防止默认单击行为并使用该数字来增加计数器。我尝试传递额外参数的每一种技术都会阻止e.preventDefault() 阻止默认行为。
【问题讨论】:
标签: javascript reactjs ecmascript-6
我设置了一个简单的组件,并试图弄清楚如何在同一个处理程序中传递参数和停止事件传播。在链接的示例中,我想将与正方形关联的数字传递给单击处理程序,防止默认单击行为并使用该数字来增加计数器。我尝试传递额外参数的每一种技术都会阻止e.preventDefault() 阻止默认行为。
【问题讨论】:
标签: javascript reactjs ecmascript-6
只需将值和事件传递给 handleClick 函数。
类似的东西
handleClick(number,e) {
e.preventDefault();
this.setState({total: this.state.total + number})
}
render() {
return (
<div>
<h1>{this.state.total}</h1>
{[0,1,2,3,4].map( (number) => {
return (
<a href="/" onClick={(e) => this.handleClick(number,e)}>{number}</a>
)
})}
</div>
)
}
或
handleClick(number,e) {
e.preventDefault();
this.setState({total: this.state.total + number})
}
render() {
return (
<div>
<h1>{this.state.total}</h1>
{[0,1,2,3,4].map( (number) => {
return (
<a href="/" onClick={this.handleClick.bind(this,number)}>{number}</a>
)
})}
</div>
)
}
【讨论】: