web-dev-qa-db-fra.com

Avantages de React Router v4 <NavLink> vs <Link>

Outre la possibilité de définir un "activeClassName" et un "activeStyle" sur NavLink, existe-t-il une raison d'utiliser NavLink sur Lien lors de la création de liens vers d'autres itinéraires sur des éléments non navigables (c.-à-d. pas la navigation principale dans l'en-tête ou le pied de page) sur votre site qui n'a pas besoin d'un état/d'une classe actif?

52
yam55

Le documentation officielle est clair:

<NavLink>

Une version spéciale de <Link> qui ajoutera des attributs de style à l'élément rendu lorsqu'il correspond à l'URL actuelle.

Ainsi, la réponse est NO. Il n'y a pas d'autres raisons sauf celle mentionnée.

85
Abdennour TOUMI

Lorsque vous devez utiliser des attributs de style ou de classe sur le <Link> actif, vous pouvez utiliser <NavLink>

Voyons l'exemple:

Lien

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

NavLink

<NavLink to="/" activeClassName="active">Home</NavLink>
25
sultan aslam

Simplement, lorsque vous utilisez <Link>, il n'y a pas de classe active sur l'élément sélectionné.
En revanche, avec <NavLink>, l'élément sélectionné est mis en surbrillance car cet élément est ajouté à une classe active.
Espoir utile pour vous.

2
Neo_