NavLink
是 React Router 库中的一个组件,它用于在导航菜单中高亮显示当前激活的路由。activeClassName
是一个属性,允许你指定当链接处于激活状态时应用的 CSS 类名。如果你发现 activeClassName
在根目录上不工作,可能是由于以下几个原因:
NavLink
组件上。/
,确保你的 NavLink
设置正确。NavLink
的 to
属性设置为 /
。NavLink
的 to
属性设置为 /
。.active
类名存在并且样式正确。.active
类名存在并且样式正确。activeClassName
仍然不工作,可以尝试使用 activeStyle
属性来直接应用内联样式。activeClassName
仍然不工作,可以尝试使用 activeStyle
属性来直接应用内联样式。以下是一个完整的示例,展示了如何使用 NavLink
并确保 activeClassName
在根目录上正常工作:
import React from 'react';
import { BrowserRouter as Router, Route, NavLink } from 'react-router-dom';
import './App.css';
function Home() {
return <h2>Home</h2>;
}
function App() {
return (
<Router>
<div>
<nav>
<NavLink to="/" activeClassName="active">Home</NavLink>
<NavLink to="/about" activeClassName="active">About</NavLink>
</nav>
<Route exact path="/" component={Home} />
<Route path="/about" component={About} />
</div>
</Router>
);
}
export default App;
/* App.css */
.active {
color: red;
}
通过以上步骤,你应该能够解决 NavLink
的 activeClassName
在根目录上不工作的问题。如果问题仍然存在,建议检查是否有其他 JavaScript 或 CSS 影响了链接的样式。
领取专属 10元无门槛券
手把手带您无忧上云