HandleClick使用React JS不使用bind

时间:2018-04-27 13:10:02

标签: javascript reactjs

这是我的反应代码

handleRemoveClick = material => {
  let idMaterial = material.material_id;
  if(this.state.operation === 0){
    this.setState( { previewShowAlertRemoveProduct : true })
    }
    this.setState( { operation : 1, material_id : idMaterial})
}



handleEndOrder(){
  if(this.state.operation === 0){
    this.setState( { previewShowAlertRemoveProduct : true })
    }
    this.setState( { operation : 2})
}

这是渲染视图:

  <button class="btn btn-xs btn-danger pull-right"  onClick={e => this.handleRemoveClick(material)}>x</button>

如何解决这个问题? onClick它根本不起作用 我已在构造函数handleEndOrder

中绑定了

1 个答案:

答案 0 :(得分:3)

由于您尚未指定按钮类型,默认为submit,您需要指定type="button"或使用e.preventDefault()

<button class="btn btn-xs btn-danger pull-right" type="button" onClick={e => this.handleRemoveClick(material)}>x</button>

handleRemoveClick = (e, material) => {
  e.preventDefault();
  let idMaterial = material.material_id;
  if(this.state.operation === 0){
    this.setState( { previewShowAlertRemoveProduct : true })
    }
    this.setState( { operation : 1, material_id : idMaterial})
}
<button class="btn btn-xs btn-danger pull-right"  onClick={e => this.handleRemoveClick(e, material)}>x</button>