2017-08-08 66 views
0

我的點擊處理程序不火:的onClick沒有觸發點擊事件處理

submitForm(UserDetails) { 
    axios 
     .post('http://localhost:3001/api/users', UserDetails) 
     .then(function(response) { 
      console.log(response); 
     }) 
     .catch(function(error) { 
      console.log(error); 
     }); 
} 

我的按鈕:

<button 
      className="btn btn-primary" 
      onClick={this.submitForm(this.props.UserDetails)}> 
      Upload 
     </button> 

我把它綁定到這一點,在我的構造函數:

constructor() { 
    super(); 
    this.submitForm = this.submitForm.bind(this); 
} 

任何想法?

+0

是否有任何錯誤,在控制檯? – abdul

回答

1

在onclick勾你調用該函數,而不是傳遞函數

<button 
    className="btn btn-primary" 
    onClick={this.submitForm(this.props.UserDetails)}> 
    Upload 
</button> 

的參考從構造

this.submitForm = this.submitForm.bind(this); 

刪除綁定,並通過適當的函數來的onClick

<button 
    className="btn btn-primary" 
    onClick={(e) => this.submitForm(this.props.UserDetails)}> 
    Upload 
</button>