Javascript 传递事件+;事件处理程序回调中的参数

Javascript 传递事件+;事件处理程序回调中的参数,javascript,reactjs,ecmascript-6,Javascript,Reactjs,Ecmascript 6,我可以使用下面的代码成功地从事件处理程序传递参数 但我想知道,我该如何将事件传递给函数handleDown class Parent extends React.Component { handleDown(argumentOne) { } render () { return ( <div> <Child handleDown={this.handleDown.bind(this)}

我可以使用下面的代码成功地从事件处理程序传递参数

但我想知道,我该如何将
事件
传递给函数
handleDown

class Parent extends React.Component {
    handleDown(argumentOne) {
    }
  render () {
    return (
      <div>
        <Child 
            handleDown={this.handleDown.bind(this)}
        />
      </div>
    );
  }
}

class Child extends React.Component {
    constructor(props) {
    super(props);
    }
  render () {
    return (
      <div>
        <span
            onMouseDown={this.props.handleDown.bind(this, 'argumentOne')}
        >
        Click here
        </span>
      </div>
    );
  }
}
类父级扩展React.Component{
汉德尔敦(一){
}
渲染(){
返回(
);
}
}
子类扩展了React.Component{
建造师(道具){
超级(道具);
}
渲染(){
返回(
点击这里
);
}
}
我该如何将事件传递给handleDown函数

不需要,事件机制需要,但给定问题中的代码,
handleDown
将接收事件作为您提供的参数之后的第一个参数

因此,这里:

<Child 
    handleDown={this.handleDown.bind(this)}
/>
这将是
handleDown
的第二个参数

我可能会修改第一个
bind
调用来传递
null
或其他内容,以便您始终将其作为第二个参数。但是,除非React做了一些特殊的事情,否则它将始终是最后一个参数,因此您可以从该参数开始工作。

Btw,
super(props)
是不必要的,除非您需要访问构造函数内部的
props
。以防你不知道。
<span
    onMouseDown={this.props.handleDown.bind(this, 'argumentOne')}
>