【问题标题】:React component does not call onClick handlerReact 组件不调用 onClick 处理程序
【发布时间】:2017-06-16 23:38:38
【问题描述】:
我有一个使用 es6 类语法构建的组件。它是一个简单的组件,只有多种样式和一些样式。然后,在父组件(称为应用程序)上,我想渲染该组件并给它一个 onClick 来调用父组件的 onclick 处理程序。到目前为止,父母对孩子的渲染是这样的:
<child_component onClick={this.clickhandler}>
然后我在该父组件中有一个方法,我已在构造函数中绑定到父组件的上下文。
组件呈现,但是当我单击组件时从不调用单击处理程序。知道为什么吗?
【问题讨论】:
标签:
javascript
reactjs
es6-class
【解决方案1】:
由于子组件不是原生 DOM 元素,而是另一个 React 组件,因此此处定义的 onClick 只是该组件的属性。您需要做的是,在子组件内部将 onClick 属性传递给 DOM 组件的 onClick 事件:
var ChildComponet= React.createClass({
render: function() {
return (
<div className="childcomponent" onClick={this.props.onClick}>
...
</div>
);
}
});