Подтвердить что ты не робот

React Router v4 <navlink> против <link> выгоды

Помимо возможности устанавливать "activeClassName" и "activeStyle" в NavLink, есть ли какая-либо причина использовать NavLink по ссылке при создании ссылок на другие маршруты на несудебных элементах (т. Е. Не основной nav в верхнем или нижнем колонтитуле) на вашем сайте которые не нуждаются в активном состоянии/классе?

4b9b3361

Ответ 1

Официальная документация понятна:

<NavLink>

Специальная версия <Link>, которая добавит атрибуты стиля к визуализируемому элементу, когда он будет соответствовать текущему URL.

Таким образом, ответ НЕТ. Других причин, кроме упомянутого, нет.

Ответ 2

Когда вам нужно использовать атрибуты стиля или класса в активном <Link>, вы можете использовать <NavLink>

Посмотрим на пример:

Ссылка на сайт

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

NavLink

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

Ответ 3

Просто, Когда вы используете <Link>, в выбранном элементе нет активного класса.
В отличие от этого, с <NavLink> выделенный элемент выделяется, потому что этот элемент добавляется активным классом.
Надеюсь, полезно для вас.

Ответ 4

Я не могу комментировать напрямую TOUMI (потому что у меня нет 50rep), поэтому я добавлю его сюда. NavLink сохраняет правильную ориентацию на странице для доступности. При использовании ссылки первоначальный фокус теряется при загрузке страницы, и вы также заметите, что при использовании Link также не работает вкладка в раскрывающихся Link. NavLink исправляет это.