[英]Passing arguments to event handlers in react
所以,我一直在尝试学习 React 并遇到了这段代码。
<button onClick={(e) => this.deleteRow(id, e)}>Delete Row</button> <button onClick={this.deleteRow.bind(this, id)}>Delete Row</button>
这让我很困惑。 deleteRow 怎么会有两个 arguments? 它应该只有一个。 将“e”放入其中有什么作用,为什么需要它? 为什么 id 是第一行的第一个参数,而第二行的第二个参数? 为什么我们需要使用'bind'或'this'。 用 deleteRow 吗? 我以为是内置的function。
e
是传递给处理程序的事件,但您也可以传递其他参数。
// handlers
const deleteRow = (e, someVal) => {
console.log(e);
console.log(someVal); // "another value"
}
const deleteRow = (e) => {
console.log(e); // still get the event
}
<button onClick={(e) => this.deleteRow(e, "another value")}>Delete Row</button>
// if you don't need to pass other arguments, you can even do
<button onClick={this.deleteRowB}>Delete Row</button>
是的,这可能会产生误导
如果您不指定,onClick 将自动传递事件
const deleteItem = (event) => {
console.log(event)
}
<button onClick={deleteItem}>Delete Item</button>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.