第一種
用bind綁定,調用是作為第二個參數傳遞,不用顯示傳遞事件對象,定義方法時,事件對象作為最后一個參數傳入
class Test extends React.Component{
constructor(props){
super(props)
}
render(){
return(
<button onClick={this.getParameter.bind(this,'abc')}>按鈕</button>
)
}
getParameter=(e,msg)=>{
console.log(e);
console.log(msg);
}
}
ReactDOM.render(<Test />, document.getElementById('root'));
第二種
返回一個函數,事件對象在返回的函數中
class Test extends React.Component{
constructor(props){
super(props)
}
render(){
return(
<button onClick={this.getParameter('abc')}>按鈕</button>
)
}
getParameter=(msg)=>{
return ()=>{
console.log(msg);
}
}
}
ReactDOM.render(<Test />, document.getElementById('root'));
第三種
事件對象作為第二個參數傳遞
class Test extends React.Component{
constructor(props){
super(props)
}
render(){
return(
<button onClick={ e => this.getParameter(e,'abc') }>按鈕</button>
)
}
getParameter=(e,msg)=>{
console.log(e);
console.log(msg);
}
}
ReactDOM.render(<Test />, document.getElementById('root'));