反应js";TypeError:无法读取属性';风格';“无效”的定义;还有许多javascript错误
我对reacts javascript部分有问题,有什么可以永久解决这个问题的吗反应js";TypeError:无法读取属性';风格';“无效”的定义;还有许多javascript错误,javascript,reactjs,Javascript,Reactjs,我对reacts javascript部分有问题,有什么可以永久解决这个问题的吗 function Header() { function openNav() { document.getElementById('mySidenav').style.width = "250px"; } function closeNav() { document.getElementById('mySid
function Header() {
function openNav() {
document.getElementById('mySidenav').style.width = "250px";
}
function closeNav() {
document.getElementById('mySidenav').style.width = "0";
}
return (
<nav className="Header">
<img className="logo" src="./assets/logo.png" alt=""/>
<div id="mySidenav" class="sidenav">
<a href="javascript:void(0)" className="closebtn" onClick={closeNav()}>×</a>
<a href="#">About</a>
<a href="#">Services</a>
<a href="#">Clients</a>
<a href="#">Contact</a>
</div>
</nav>
)
}
export default Header
函数头(){
函数openNav(){
document.getElementById('mySidenav').style.width=“250px”;
}
函数closeNav(){
document.getElementById('mySidenav').style.width=“0”;
}
返回(
)
}
导出默认标题
ı只是想制作一个更大的菜单,发生了这种情况,请帮助。您过早地调用了
closeNav()
问题在于:
<a href="javascript:void(0)" className="closebtn" onClick={closeNav()}>×</a>
这不是很好的编码风格。考虑使用REFS引用组件而不是<代码> GETelEnMyByID,并使用内联样式和状态来更新宽度,而不是直接操作HTML元素。没有必要显式操作这样的样式。不要手动更改DOM元素。为什么要使用react呢?dylan非常感谢你救了我的命谢谢如果这回答了你的问题,那么将答案标记为已接受。无需在评论中表示感谢:)使用
href=“javascript:void(0)”
意味着应该使用按钮也不需要做其他的功能。只需将它传入onClick={closeNav}
。
<a href="javascript:void(0)" className="closebtn" onClick={() => closeNav()}>×</a>