React组件不会调用onClick处理程序

时间:2017-01-31 13:46:53

标签: javascript reactjs es6-class

我有一个使用es6类语法构建的组件。它是一个简单的组件,只有多样化和一些风格。然后,在父组件(称为app)上,我想渲染该组件并为其提供一个调用父级onclick处理程序的onClick。到目前为止,父母像这样渲染孩子:

<child_component onClick={this.clickhandler}>

然后我在该父组件中有一个方法,我已经绑定到构造函数中的父上下文。

组件呈现,但单击组件时从不调用单击处理程序。知道为什么吗?

1 个答案:

答案 0 :(得分:5)

由于子组件不是本机DOM元素,但是另一个React组件,此处定义的onClick只是该组件的属性。您需要做的是,在子组件内部将onClick prop传递给DOM组件的onClick事件:

var ChildComponet= React.createClass({
 render: function() {
 return (
   <div className="childcomponent" onClick={this.props.onClick}>
   ...
    </div>
  );
 }
 });