【发布时间】:2021-05-01 13:52:09
【问题描述】:
这是带有 React-Bootstrap 的 Header 组件。我用纯 CSS 创建了一个菜单图标,但我想更改图标功能 onClick 但我收到错误 - TypeError: Cannot read property 'toggle' of undefined 。有什么方法我弄错了吗?好心检查。谢谢。
另外,有没有办法,我可以用 React Hooks 方法代替?
谢谢。
import styles from './Landing.module.css';
import './Landing.module.css';;
const openMenu = (open) => {
open.classList.toggle('change');
};
<Nav className="ml-auto">
<div className={styles.allMenus}>
<div className="menuIcon" onClick={openMenu}>
<div className={styles.bar1}></div>
<div className={styles.bar2}></div>
<div className={styles.bar3}></div>
</div>
</div>
</Nav>
我的 CSS - 它有变化的样式
div[class="menuIcon"] {
background-color: #ffffff;
padding: 13px;
margin-right: 46px;
float: right;
cursor: pointer;
}
.bar1, .bar2, .bar3 {
width: 32px;
height: 3px;
background-color: #333;
margin: 6px 0;
transition: 0.4s;
}
.change .bar1 {
-webkit-transform: rotate(-45deg) translate(-9px, 6px) ;
transform: rotate(-45deg) translate(-9px, 6px) ;
}
.change .bar2 {
opacity: 0;
}
.change .bar3 {
-webkit-transform: rotate(45deg) translate(-8px, -8px) ;
transform: rotate(45deg) translate(-8px, -8px) ;
}
【问题讨论】:
-
className="menuIcon"是这样声明类名的吗?!在标准 HTML 中,它只是class="my_class"。我会改变它......并试一试。特别是考虑到您似乎正在尝试使用 javascript 函数...
标签: javascript css reactjs ecmascript-6 react-bootstrap