首页 文章

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

提问于
浏览
1

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

<child_component onClick={this.clickhandler}>

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

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

1 回答

  • 5

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

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

相关问题