[英]Passing event + arguments in an event handler callback
我可以使用下面的代碼成功地從事件處理程序傳遞參數。
但我想知道,我如何將event
傳遞給函數handleDown
?
class Parent extends React.Component {
handleDown(argumentOne) {
}
render () {
return (
<div>
<Child
handleDown={this.handleDown.bind(this)}
/>
</div>
);
}
}
class Child extends React.Component {
constructor(props) {
super(props);
}
render () {
return (
<div>
<span
onMouseDown={this.props.handleDown.bind(this, 'argumentOne')}
>
Click here
</span>
</div>
);
}
}
我如何將事件傳遞給函數handleDown?
你沒有,事件機制確實如此,但考慮到問題中的代碼, handleDown
將在你提供的事件之后接收事件作為第一個參數。
所以在這里:
<Child
handleDown={this.handleDown.bind(this)}
/>
它將是handleDown
的第一個參數,在這里:
<span
onMouseDown={this.props.handleDown.bind(this, 'argumentOne')}
>
這將是handleDown
的第二個參數。
我可能會修改第一個bind
調用以傳遞null
或其他東西,以便您始終將其作為第二個參數。 但除非React做了一些特別的事情,否則它將永遠是最后一個參數,所以你可以從中做到。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.