【发布时间】:2023-02-24 23:29:58
【问题描述】:
我正在尝试让我的导航栏移动响应,问题是(在移动视图中): 1.最初我们得到的是FaTimes (x) button 而不是FaBars (hamburger)。 2.当我们点击这些按钮时,导航栏会打开和关闭,但按钮不会切换,它只会呈现 FaTimes (x) 按钮。
我想首先获得 a) FaBars 和 b) 当我们单击它以打开和关闭导航栏时,按钮应在 FaBars 和 FaTimes 之间切换。
这是我的导航栏组件:
import React, { useRef, useState } from "react";
import "../styles/styles.css";
import { NavLink } from "react-router-dom";
import { FaBars, FaTimes } from "react-icons/fa";
function NavBar() {
const navRef = useRef();
const [isOpen, setIsOpen] = useState(false);
const showNavBar = () => {
setIsOpen(!isOpen);
};
return (
<>
<nav
className={`mobile-nav ${isOpen ? "responsive_nav" : ""}`}
ref={navRef}
>
<div className="itemL">
<NavLink to="/" exact activeClassName="active">
mjshubham21
</NavLink>
</div>
<div className="itemR">
//Nav links...
</div>
</nav>
<button className="nav-btn" onClick={showNavBar}>
<FaBars /> // I want this initially ad then toggle as we tap on it.
</button>
<button className="nav-btn nav-close-btn" onClick={showNavBar}>
<FaTimes />
</button>
</>
);
}
export default NavBar;
【问题讨论】:
标签: css reactjs react-hooks navbar