React Router에서 Link
와 NavLink
는 둘 다 특정 경로로 이동할 수 있도록 도와주는 컴포넌트입니다. 하지만 두 컴포넌트에는 중요한 차이점이 있습니다:
단순히 사용자를 다른 경로로 이동시키는 링크를 생성합니다.
활성화 여부와 상관없이 항상 동일한 스타일을 가집니다.
import { Link } from "react-router-dom";
<Link to="/about">About</Link>
import { NavLink } from "react-router-dom";
<NavLink
to="/about"
className={({ isActive }) => isActive ? "active" : ""}
>
About
</NavLink>
NavLink 컴포넌트에서 end 속성은 경로의 일부분이 아닌 전체 경로와 정확히 일치할 때만 "active" 클래스를 적용하도록 합니다.
<NavLink
to="/"
className={({ isActive }) => isActive ? "active" : ""}
end
>
Home
</NavLink>
이제 Home 링크는 오직 정확히 / 경로에 있을 때만 "active" 클래스를 받게 됩니다.