我有一个 anchor 标记,其中一个组件中的 onClick 正在由另一个组件呈现。它看起来像这样:
<a href="javascript:void(0);"
className="btn btn-link"
onClick={this.closeThing.bind(this)}>Close</a>
this.closeThing 已定义,当我使用 React Dev 工具时,我可以看到它知道 onClick。但这里的 onClick 不起作用,即使我更改为仅记录乱码以进行测试的匿名函数。无论我想在单击时执行什么功能,当我单击“关闭”时什么也不会发生。
我尝试将事件作为参数并调用 e.preventDefault
函数中的第一件事。
我使用 ES6 类语法来声明 React 组件。
还有其他人遇到过这种情况吗?真是令人难以置信。
哦,这也曾经有效,但我现在唯一改变的是我将它从 jsx 文件更改为 js 文件,因为我正在使用 System.js 来利用 ES6 模块。但一切都很好,除了 onClick 不起作用。
编辑:问题似乎是我在页面上加载了两个不同的 React“实例”。 :T 一份来自 ES6 模块,一份来自 CDN URL。将 CDN URL 切换为 System.js 导入解决了问题。
最佳答案
浏览器控制台是否显示任何异常?也可能是 UI 问题,可能是您的关闭区域元素被某些透明元素覆盖,而该透明元素不允许单击实际元素。
关于javascript - React onClick 根本不触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36049720/