javascript-React onClick-通过参数传递事件

没有参数

function clickMe(e){
  //e is the event
}

<button onClick={this.clickMe}></button>

带参数

function clickMe(parameter){
  //how to get the "e" ?
}
<button onClick={() => this.clickMe(someparameter)}></button>

我想获取event。如何获取?

IMOBAMA asked 2020-01-23T23:51:23Z
3个解决方案
102 votes

尝试这个

<button onClick={(e) => {
     this.clickMe(e, someParameter)
}}>Click Me!</button>

而在你的职能

function clickMe(event, someParameter){
     //do with event
}
Jyothi Babu Araja answered 2020-01-23T23:51:46Z
11 votes

使用ES6,您可以像这样更短地进行操作:

const clickMe = (parameter) => (event) => {
    // Do something
}

并使用它:

<button onClick={clickMe(someParameter)} />
Minh Kha answered 2020-01-23T23:52:10Z
6 votes

解决方案1

function clickMe(parameter, event){
}

<button onClick={(event) => {this.clickMe(someparameter, event)}></button>

解决方案2在解决方案1中,使用绑定函数比使用箭头函数更好。注意,事件参数应该是处理程序函数中的最后一个参数

function clickMe(parameter, event){
}

<button onClick={this.clickMe.bind(this, someParameter)}></button>
Bence Dergez answered 2020-01-23T23:52:35Z
translate from https://stackoverflow.com:/questions/42597602/react-onclick-pass-event-with-parameter