Помимо возможности устанавливать "activeClassName" и "activeStyle" в NavLink, есть ли какая-либо причина использовать NavLink по ссылке при создании ссылок на другие маршруты на несудебных элементах (т. Е. Не основной nav в верхнем или нижнем колонтитуле) на вашем сайте которые не нуждаются в активном состоянии/классе?
React Router v4 <navlink> против <link> выгоды
Ответ 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 исправляет это.