首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ReactJS: Navbar当前页面效果

问ReactJS: Navbar当前页面效果
EN

Stack Overflow用户
提问于 2020-08-22 21:15:48
回答 1查看 594关注 0票数 1

当我在当前页面上时,我想要高亮效果。例如,如果我在“关于页面”上,我会喜欢在导航栏中突出显示。

我该怎么做?

相关守则

NavBar.js

代码语言:javascript
复制
function NavBar() {
    const [open, setOpen] = useState(false);
    NavBar.handleClickOutside = () => setOpen(false);

    return(
        <nav>
            <div className='navbar-container'>
                <a href='/' className='logo'>Daniel Zhang</a>
                <div className='toggle-button' onClick={() => setOpen(!open)}>
                    <div className='bar' />
                    <div className='bar' />
                    <div className='bar' />
                </div>
            </div>
            <div id='nav-links' className={open ? 'nav-open' : 'nav-collasped'}>
                <a href='/'>Home</a>
                <a href='/about'>About</a>
                {/* <a href='/blog'>Blog</a> */}
                <a href='/contact'>Contact</a>
            </div>
        </nav>
    );
}

const clickOutsideConfig = {
    handleClickOutside: () => NavBar.handleClickOutside,
};

export default onClickOutside(NavBar, clickOutsideConfig);
EN

回答 1

Stack Overflow用户

发布于 2020-08-22 22:10:52

您可以使用来自的NavLink组件。进口:

代码语言:javascript
复制
import { NavLink } from 'react-router-dom';

而不是<a href='/about'>About</a>,您可以写:

代码语言:javascript
复制
<NavLink exact to='/about'  activeClassName="highlighted">About</Navlink>

对于<div id='nav-links'中存在的其他链接,等等。当然,您可以根据.highlighted添加突出显示的样式。

更多信息,请参阅https://reactrouter.com/web/api/NavLink

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63541179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档