React onClick點擊事件傳參三種寫法


第一種

用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'));


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM