2017-11-25 180 views
0

链接在我的应用程序。如果anchor link处于活动状态,如何使活动样式有效。阵营路由器V4活跃锚链接

<NavLink 
    to="/#somewhere" 
    activeClassName="selected" 
>AnchorLink</NavLink> 
+0

你是什么意思主动式?你的意思是一个紫色的链接?这看起来更像是一个CSS问题。 – Li357

+0

@ Li357我的意思是,如果链接处于活动状态 - 那么“选定”类将应用于它,但在反应路由器中不起作用的锚链接 –

回答

0

对于造型当前激活链接,你可以给样式到在参数activeClassName提供的类,但它不与哈希网址的工作,但对于活动类,我们可以用我们的散列的名字比较location.hash

例如:

<li> 
      <Link className={location.hash == "#about" ? "active" : ""} to='#about'> 
      About 
     </Link> 
     </li> 
     <li> 
      <Link className={location.hash == "#user" ? "active" : ""} to='#user'> 
      User 
     </Link> 
     </li> 
     <li> 
      <Link className={location.hash == "#repo" ? "active" : ""} to='#repo'> 
      Repository 
     </Link> 
</li> 

因此,对于这个例子中,我们提供了风格

.active { 
    font-weight: bold; 
} 

这样的字体将是大胆仅用于链路当前活动。

+0

我正在谈论锚链接,而不是一个简单的。你的例子不起作用。 –

+0

请向我展示一个带有/#anchor-link的例子,因为在我的情况下,它不工作,因为位置路径是/并且链接是/#anchor-link –

+0

我有你的问题,我找到了这个解决方案。 1. https://github.com/rafrex/react-router-hash-link 2. https://stackoverflow.com/a/29456595/4591943 –