之前使用React的事件处理程序大都直接使用下面的两个形式:
this.handleClick = this.handleClick.bind(this);
// public class fields 语法
handleClick = () => {
console.log('this is:', this);
}
可是在程序中给事件处理程序传递参数的时候,如果还是直接用类似onClick={this.handleClick(params)}的函数来处理的话,那么该函数就会直接被执行,所以查看了官网发现给事件处理程序传递参数有两种方式,这里记录一下:
<button onClick={(e) => this.deleteRow(id, e)}>Delete Row</button>
<button onClick={this.deleteRow.bind(this, id)}>Delete Row</button>
在给方法传递新参数时,方法原来的参数会排在新参数之后