Oprócz możliwości ustawienia „activeClassName” i „activeStyle” w NavLink, czy istnieje jakikolwiek powód, aby używać NavLink over Link podczas tworzenia łączy do innych tras na elementach niezwiązanych z nawigacją (tj. Nie jest to główna nawigacja w nagłówku lub stopce) w Twojej witrynie które nie potrzebują aktywnego stanu / klasy?
97
NavLink
utrzymuje właściwą fokus na stronie w celu zapewnienia dostępności. Podczas korzystania z linku początkowy fokus jest tracony podczas ładowania strony, a także zauważysz, że przewijanie list rozwijanych również nie działa podczas używaniaLink
. NavLink rozwiązuje ten problem.Odpowiedzi:
Oficjalna dokumentacja jest jasne:
Zatem odpowiedź brzmi NIE . Nie ma innych powodów poza wymienionym.
źródło
Kiedy potrzebujesz użyć atrybutów stylu lub klasy na active
<Link>
, możesz użyć<NavLink>
Zobaczmy przykład:
Połączyć
<Link to="/">Home</Link>
NavLink
<NavLink to="/" activeClassName="active">Home</NavLink>
źródło
Połącz komponent
Składnik NavLink:
Ref: https://www.javatpoint.com/react-router
źródło
Po prostu, kiedy używasz,
<Link>
nie ma żadnej aktywnej klasy na wybranym elemencie.Natomiast przy
<NavLink>
wybranym elemencie jest podświetlony, ponieważ do tego elementu dodaje się aktywną klasę.Mam nadzieję, że ci się przyda.
źródło