繁体   English   中英

onClick不触发点击处理程序

[英]onClick not firing click handler

我的点击处理程序不会触发:

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);
}

有任何想法吗?

在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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM