【发布时间】:2021-08-08 19:24:54
【问题描述】:
我尝试了UseState(false),但它为所有其他导航栏元素添加了样式
import React, {useState } from 'react';
import { AiOutlineMenu } from 'react-icons/ai';
import { Navbar, NavContainer, NavLogo, NavLogoLink, NavMobileIcon, NavLists, NavList, NavLink, NavBtn, NavBtnLink } from './NavStyle';
export default function Nav({openHandler}) {
const [isActive, setIsActive] = useState(false);
const clickHandler = () => {
setIsActive(!isActive);
}
return (
<Navbar>
<NavContainer>
<NavLogo><NavLogoLink to="/about">Jonathan</NavLogoLink></NavLogo>
<NavMobileIcon onClick={openHandler}>
<AiOutlineMenu />
</NavMobileIcon>
<NavLists>
<NavList onClick={clickHandler} className={isActive ? 'active' : ''}>
<NavLink to="#about">About</NavLink>
</NavList>
<NavList onCLick={clickHandler} className={isActive && 'active'}>
<NavLink to="#discover">Discover</NavLink>
</NavList>
<NavList onClick={clickHandler} className={isActive && 'active'}>
<NavLink to="#services">Services</NavLink>
</NavList>
</NavLists>
<NavBtn><NavBtnLink to="signup">Sign Up</NavBtnLink></NavBtn>
</NavContainer>
</Navbar>
)
}
【问题讨论】:
-
添加的类名是什么?
标签: javascript reactjs frontend use-state