React实现原生导航栏----<NavLink>的使用

说明

最近在实习中,被React项目中导航栏困住了,项目中需要点击导航栏中某一处,进行路由跳转,使用Antd的导航栏,虽然能跳转,但是需要点击两次,效果不好(与我个人实力有关),虽然有大佬给我的代码参考,他们也是用的Antd,但是我没有看懂,换了多次关键词搜索。
搜索“react 导航跳转页面”关键词的结果中,我看到了这篇文章:
《react实现点击导航部分页面跳转(路由)》
虽然没有解决我的问题,但是看到了NavLink,于是把这个作为关键词,在搜索结果中,得到了这两篇文章的帮助。
《React Router中Link和NavLink的学习总结》
《React-Router实战:NavLink》

知识整理

< NavLink >是< Link >的一个特定版本,会在匹配上当前的url的时候给已经渲染的元素添加参数,组件的属性有

属性属性说明
activeClassName(string)设置选中样式,默认值为active
activeStyle(object)当元素被选中时,为此元素添加样式
exact(bool)为true时,只有当导致和完全匹配class和style才会应用
strict(bool)为true时,在确定为位置是否与当前URL匹配时,将考虑位置pathname后的斜线
isActive(func)判断链接是否激活的额外逻辑的功能

示例

1.引入使用

import { NavLink } from 'react-router-dom'

2.activeClassName:string

//当被激活时,显示类名为selected 的css样式

<NavLink  to="/admin"  activeClassName="light">
  About
</NavLink>

3.activeStyle:object

// 在元素处于活动状态时应用于该元素的样式。

<ul >
    <li >
        <NavLink
            to="/admin"
            activeStyle={{
                background: '#1890FF',
                display: 'block',
                width: '90px',
                textAlign: 'center'
            }}
        >
            查看
    	</NavLink>
    </li>
</ul>

4.exact: 精确匹配

//仅当url与NavLink里to的值完全相等时,才应用类名为selected的CSS样式

<NavLink exact  to="/admin"  activeClassName="light">
  About
</NavLink>
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值