4. Navigation
๊ธฐ๋ณธ์ ์ผ๋ก ํ์ด์ง๊ฐ ๋ฐ๋๋ฉด ๋ก๋ฉ์ด ์๋ก๋จ
๋งํฌ๋ฅผ ๊ฐ๋ก์ฑ์ ์ด๋์ํ๊ณ ํ์ด์ง ๋ณ๊ฒฝํ๊ธฐ
HTML5์ ์๊ธด API History.pushState() ์ด์ฉ
<a href="/about" onClick={handleClick}>About</a>
const handleClick = (event: SyntheticEvent) => {
event.preventDefault();
const state = {};
const title = '';
const url = '/about';
window.history.pushState(state, title, url); // ์ค์ ๋ก ๋์ด๊ฐ์ง ์๊ณ ์ฃผ์๋ง ๋ฐ๋
};window.history()
์๋์ฐ์ ์ด๋ ์ด๋ ฅ์ ์ต๊ทผ์ ๋ฐฉ๋ฌธํ URL์ ๋ฐฐ์ด๋ก ๋ฐํ
HTML5์ history ๊ฐ์ฒด๋ ์ฌ์ฉ์ ํ์คํ ๋ฆฌ์์์ ์ ๋ค ์ด๋์ด ๊ฐ๋ฅํ๋๋ก ์ ์ฉํ ๋ฉ์๋์ ์์ฑ์ ์ ๊ณต
history.back(): ์๋์ฐ ์ด๋ ์ด๋ ฅ์์ ๋ค๋ก ์ด๋
history.forward(): ์๋์ฐ ์ด๋ ์ด๋ ฅ์์ ์์ผ๋ก ์ด๋
history.pushState() : ์๋ก์ด history๋ฅผ ์ถ๊ฐํ๋ฉฐ ์ค์ ํ์ด์ง ์ด๋์ ์ผ์ผํค์ง ์์
Link
์๋ก๊ณ ์นจ ์์ด ํ์ด์ง ์ด๋
<Link to="/">Home</Link>
<Link to="/about">About</Link>NavLink
๋ด๋น๊ฒ์ด์
์ฉ ๋งํฌ ๊ฐ๋ฐ์ ๋๊ตฌ์์ ํ์ธ์ <a> ํ๊ทธ์ class="active"๊ฐ ์กํ๊ฒ ๋จ
<NavLink to="/">Home</NavLink>
<NavLink to="/about">About</NavLink>Navigate
ํน์ ์ปดํฌ๋ํธ๋ก ์ด๋ํด์ ๋ฌด์ธ๊ฐ ์ฒ๋ฆฌํ๊ณ ๋ ๋ค ๋ค๋ฅธ ํ์ด์ง๋ก ๋ฆฌ๋ค์ด๋ ์ ์ํฌ๋ ์ฌ์ฉ
export default function LogoutPage() {
return (
<Navigate to="/" />
);
}useNavigate
๋ฆฌ๋ค์ด๋ ์ ํจ์๋ฅผ ์ฌ์ฉํ ์ ์๋ ํ
const navigate = useNavigate();
const handleClickLogout = () => {
navigate('/');
};
return (
<button type="button" onClick = {handleClickLogout}>
Log out
</button>
)Last updated