css - React-Router NavLink 活动颜色
问题描述
嘿伙计们,我真的不明白为什么会这样。当我启动应用程序时,一切正常。菜单中的第一项具有活动类别。但是当我点击菜单中的另一个项目时,这个项目也收到这个类活动并且之前的活动类没有被删除。
图片便于理解
HTML
<div className="menu">
<ul>
<li><NavLink to="/" activeClassName="active">Domov</NavLink></li>
<li><NavLink to="/about" activeClassName="active">O nás</NavLink></li>
<li><NavLink to="/portfolio" activeClassName="active">Portfólio</NavLink></li>
<li><NavLink to="/contact" activeClassName="active">Kontakt</NavLink></li>
</ul>
</div>
css
.menu ul{
list-style: none;
padding-left: 0;
li{
display: inline-block;
margin: 0 1.5em;
color: black;
font-weight: 400;
a{
color: black;
text-decoration: none;
&.active{
color:$mainColor;
}
}
}
}
我究竟做错了什么?
解决方案
原因是即使您导航到新链接,第一个链接/
仍然评估为真。
您需要添加exact
到您NavLink
的 s
<NavLink exact to="/portfolio" activeClassName="active">Portfólio</NavLink>
这将确保仅当路由与to
链接完全匹配时才添加活动类
推荐阅读
- r - 将降雨量计算为雨天
- node.js - 无法确定 knex.js 和 Postgres 中参数 $1 的数据类型
- postgresql - 将 CSV 复制到 POSTGRES TEXTX 字段被引用
- google-apps-script - 如何从 Google 表格中获取日期并将字符串转换为 Google 脚本中的日期以用于 createAllDayEvent?
- ms-access - 打开一个基于访问表单字段的查询?
- reactjs - 为什么不能导出 PureComponent
- sql - db2,分组数据,以便结果可以是列名
- javascript - 在 Angular 7 http 拦截器中选择正确的 RxJs 运算符
- excel - 为什么这段代码要删除删除重复项的原始值?
- r - 找不到对象 - 在 R 中编写子集函数