如何在reactJS中将其他参数传递给事件侦听器

如何在reactJS中将其他参数传递给事件侦听器,reactjs,Reactjs,我试图将其他参数传递给onChange处理程序,这就是react组件的外观 class Foo extends React.Component { handleFormChange(part, event) { console.log(event.target.value, part) } render() { return ( <

我试图将其他参数传递给onChange处理程序,这就是react组件的外观

class Foo extends React.Component {

      handleFormChange(part, event) {
           console.log(event.target.value, part)
          }

      render() {
                 return (
                            <Row>
                                <Col>
                                    <Form.Label>Label</Form.Label>
                                    <Form.Control size="sm" type="text" placeholder="Label"
                                                  className="transparent" onChange={(event) => this.handleFormChange.bind('label', event)}/>
                                </Col>
      )

   }

}
类Foo扩展了React.Component{
handleFormChange(部分、事件){
console.log(event.target.value,部分)
}
render(){
返回(
标签
this.handleFormChange.bind('label',event)}/>
)
}
}
但我的事件侦听器似乎什么都没做。我可以在上面输入,但控制台中没有显示任何消息。正确的方法是什么


如果我更改它,使它只是
onChange={this.handleFormChange}
,那么它可以工作,但是我不能传递任何附加参数。

.bind
返回一个新函数,它不会调用它。因此,您的事件处理程序只创建一个函数,而不使用它

您只需从事件处理程序调用
this.handleFormChange
,或使用
.bind
创建事件处理程序:

onChange={(event) => this.handleFormChange('label', event)}
// or (the first argument is assigned to `this`, not the first parameter)
onChange={this.handleFormChange.bind(this, 'label')}

我不认为
bind
做了你认为它做的事情:
handleFormChange
不使用
this
,因此您不需要
绑定它。我删除了handleFormChange中更新状态的部分,但我确实需要
this
在该方法中可访问。啊,明白了,将此事件侦听器绑定到(null,'label')会让它访问
this
?我在构造函数中有另一个调用,它执行以下操作:`this.handleFormChange=this.handleFormChange.bind(this)`