![](/img/trans.png)
[英]Cannot read property 'addEventListener' of null - JavaScript
[英]Cannot read property 'addEventListener' of null using javascript in react?
I am trying to use native javascript in react to bind event.Actually I am getting some HTML
from server.I am using dangerouslySetInnerHTML
to set HTML.Now I want to bind a click event in incoming HTML from server here is my code https:/ /codesandbox.io/s/angry-shadow-1c4v8?file=/src/App.js
useEffect(() => {
const alertFunc = function () {
alert("-----");
};
document.querySelector(".btn").addEventListener("click", alertFunc, false);
// Specify how to clean up after this effect:
return function cleanup() {
document
.querySelector(".btn")
.removeEventListener("click", alertFunc, false);
};
});
这个问题是因为您的模板 - <button className="btn">set countor </button>
正在重新设计,如下所示。
因此,如果您尝试使用 class 查询选择器访问,它将返回未定义。 您可以使用class
代替className
。
return {
__html: '<button class="btn">set countor </button>'
};
工作代码 - https://codesandbox.io/s/brave-meadow-qitjb?file=/src/App.js:87-157
这是因为您的 HTML 不是 HTML。 这是 JSX。 className
是一个仅限 JavaScript 的属性。
代替:
<button className="btn">set countor </button>
你需要:
<button class="btn">set counter</button>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.