javascript - React 组件不调用 onClick 处理程序

标签 javascript reactjs es6-class

我有一个使用 es6 类语法构建的组件。它是一个简单的组件,具有多种多样的样式。然后,在父组件(称为 app)上,我想呈现该组件并给它一个调用父级 onclick 处理程序的 onClick。到目前为止,父级渲染子级是这样的:

<child_component onClick={this.clickhandler}>

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

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

最佳答案

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

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

关于javascript - React 组件不调用 onClick 处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41959198/

相关文章:

javascript - 加速 Javascript 的技术或数据结构?

reactjs - 创建钩子(Hook)时真的需要导入 'React'吗? ( react 钩子(Hook))

javascript - 在类内的函数内创建函数

javascript - 在子类中调用 super() 后的属性查找实际上是如何工作的

javascript - 在 JavaScript/ES7 类中动态调用静态方法

java - 我如何在opengl中画一个半圆

javascript - 我正在尝试向我正在构建的网站添加下拉菜单(HTML/CSS/JavaScript)

javascript - 从大字符串中检测 url 并在每个 url 的末尾添加一些文本

unit-testing - 如何用 Jest 测试一个React组件是否包含另一个组件?

javascript - React - 通过对象数组映射