a 태그를 이용할때, 페이지 새로고침이 되지 않고 이동하도록 이렇게 했었음.
const state = {};
const title = "";
const url = "/about";
history.pushState(state, title, url);
function Header() {
return (
<header>
<nav>
<ul>
<li>
<Link to="/">Home</Link>
</li>
<li>
<Link to="/about">About</Link>
</li>
</ul>
</nav>
</header>
);
}
NavLink를 이용하면 선택된 태그의 className에 active가 붙는다. 이걸 이용해 스타일링.
function Header() {
return (
<header>
<nav>
<ul>
<li>
<NavLink to="/">Home</NavLink>
</li>
<li>
<NavLink to="/about">About</NavLink>
</li>
</ul>
</nav>
</header>
);
}
묻지도 따지지도않고 리다이렉트함.
import { Navigate } from "react-router-dom";
export default function LoginPage() {
return <Navigate to="/" />;
}
바로 이동하는 경우 사용할 수 있다.
import { useNavigate } from "react-router-dom";
export default function Footer() {
const navigate = useNavigate();
const handleClick = () => {
navigate("/about");
};
return (
<footer>
<button type="button" onClick={handleClick}>
Press
</button>
</footer>
);
}