Además de la capacidad de establecer un "nombre de clase activo" y un "estilo activo" en NavLink, ¿hay alguna razón para usar NavLink sobre enlace al crear enlaces a otras rutas en elementos que no son de navegación (es decir, no navegación principal en el encabezado o pie de página) en su sitio? que no necesita un estado/clase activo?
La documentación oficial es clara:
<NavLink>Una versión especial de
<Link>que agregará atributos de estilo al elemento representado cuando coincida con la URL actual.
Por lo tanto, la respuesta es NO . No hay otras razones excepto la mencionada.
Cuando necesite usar atributos de estilo o clase en <Link> activo, puede usar <NavLink>
Veamos el ejemplo:
Enlace
<Link to="/">Home</Link>Enlace de navegación
<NavLink to="/" activeClassName="active">Home</NavLink>Componente de enlace
Se utiliza para crear enlaces que permiten navegar en diferentes URL y cuando hacemos clic en cualquiera de esos enlaces en particular, debe cargar esa página que está asociada con esa ruta sin recargar la página. Ejemplo:
Componente NavLink:
Si, queremos agregar algunos estilos al Link. De modo que cuando hacemos clic en cualquier enlace en particular, se puede identificar fácilmente qué enlace está activo. Para este enrutador de reacción, proporciona NavLink en lugar de Link . Ahora reemplace Link from Navlink y agregue propiedades activeStyle . Las propiedades activeStyle significan que cuando hacemos clic en el enlace, debe resaltarse con un estilo diferente para que podamos diferenciar qué enlace está actualmente activo. Ejemplo:
Referencia: https://www.javatpoint.com/react-router