gpt4 book ai didi

javascript - 类型错误 : dropdown is null when trying to access Dom element in reactjs

转载 作者:行者123 更新时间:2023-12-01 01:53:47 25 4
gpt4 key购买 nike

请在react中遇到此错误,好的,导入一些外部js文件,在该文件中进行某种Dom操作,例如添加css类和从我的模板中删除css类。问题是,当我的类 App.js 加载时,它给我一个错误,提示未找到下拉类,根据我自己的理解,我认为是因为组件尚未渲染。简而言之,请有人帮助我。提前致谢。

js代码

var dropdown = document.querySelector('.modal');
dropdown.addEventListener('click', function(event) {
event.stopPropagation();
dropdown.classList.toggle('is-active');
});

我得到的错误

    TypeError: dropdown is null
./src/modules/Restaurants/utils/main.js
C:/Users/user/Desktop/fungry/fungry/src/modules/Restaurants/utils/main.js:2

1 | var dropdown = document.querySelector('.dropdown');
> 2 | dropdown.addEventListener('click', function(event) {
3 | event.stopPropagation();
4 | dropdown.classList.toggle('is-active');
5 | });

非常感谢

最佳答案

您应该在 .modal 元素所在的 ReactJS 类的 componentDidMount 函数中编写此代码。

componentDidMount(){
var dropdown = document.querySelector('.modal');
dropdown.addEventListener('click', function(event) {
event.stopPropagation();
dropdown.classList.toggle('is-active');
});
}

顺便说一下,你应该使用react的onClick属性,而不是像这样绑定(bind)点击函数

关于javascript - 类型错误 : dropdown is null when trying to access Dom element in reactjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51207512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com