React Router v4 <NavLink>与<Link>的优势


94

除了可以在NavLink上设置“ activeClassName”和“ activeStyle”之外,在网站上创建指向非导航元素(例如,页眉或页脚中的非主导航)上的其他路线的链接时,是否有任何理由在链接上使用NavLink不需要活动状态/类?


4
我无法直接对TOUMI发表评论(因为我没有50rep),因此我将在此处添加。NavLink将页面适当地放在可访问性上。使用链接时,最初的焦点将丢失在页面加载上,并且您还会注意到,使用时,下拉列表的选项也会中断Link。NavLink修复了此问题。
DJNorris '19

Answers:



42

当需要在active上使用style或class属性时<Link>,可以使用<NavLink>

让我们看一个例子:

链接

<Link to="/">Home</Link>

导航链接

<NavLink to="/" activeClassName="active">Home</NavLink>

7

链接组件

它用于创建允许在不同URL上导航的链接,当我们单击该特定链接中的任何一个时,它应加载与该路径关联的页面,而无需重新加载该页面。 例:

在此处输入图片说明

NavLink组件:

如果是,我们要向链接添加一些样式。这样,当我们单击任何特定链接时,可以轻松识别出哪个链接处于活动状态。为此,路由器提供NavLink而不是 Link。现在,从Navlink替换Link并添加属性activeStyle。该activeStyle性能意味着,当我们点击链接,就应该用不同的风格来强调这样我们就可以区分哪些链接是当前活动。 例:

在此处输入图片说明

参考:https : //www.javatpoint.com/react-router


5

简而言之,当您使用时,所选元素上<Link>没有任何活动类。
相反,<NavLink>选中的元素会突出显示,因为此元素被添加了一个活动类。
希望对您有用。


一些代码示例将对用户有所帮助。评论来自
Vaibhav Vishal
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.