4. Navigation
Keyword
Web APIs - History
React Router - NavLink, Link, Navigate, useNavigate
1. Web APIs - History
์น ๋ธ๋ผ์ฐ์ ์ ํ์คํ ๋ฆฌ๋ฅผ ์กฐ์ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ API
ํ์คํ ๋ฆฌ ์คํ์ผ๋ก ํ์ด์ง ์ ํ์ ๊ด๋ฆฌํ๊ณ , ์ด์ ํ์ด์ง์ ๋ค์ํ์ด์ง๋ก ์ด๋๊ฐ์ ๋ธ๋ผ์ฐ์ ๋์์ ์กฐ์ํ ์ ์๋ค.
2. React Router
๋ค์ ํค์๋๋ค์ React Router์์ ์ง์ํ๋ ๋ค์ํ ๋ผ์ฐํ ๊ธฐ๋ฅ์ด๋ค.
NavLink
<Link>
์ ๊ธฐ๋ฅ์ ์ ์ฌํ์ง๋ง, ํ์ฌ ๊ฒฝ๋ก์ ์ผ์นํ ๋ ์คํ์ผ์ ์ ์ฉํ๋ค.
Link
๋ค๋ฅธ ํ์ด์ง๋ก ์ด๋ํ๋ ์ผ๋ฐ์ ์ธ ๋งํฌ์ ์ญํ ์ ํ๋ฉฐ HTML์ <a>
ํ๊ทธ์ ์ ์ฌํ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง๋ง, ํ์ด์ง ์๋ก๊ณ ์นจ ์์ด ํ์ด์ง ์ ํ์ด ๊ฐ๋ฅํ๋ค.
Navigate
Navigate๋ ๋ ๋๋ง๋ ๋ ํ์ด์ง๋ฅผ ๋ณ๊ฒฝํ๋ค.
์กฐ๊ฑด์ ๋ฐ๋ผ ๋ผ์ฐํ ์ ์ฒ๋ฆฌํ๊ฑฐ๋ ํน์ ์ด๋ฒคํธ ํ์ ํ์ด์ง๋ฅผ ๋ณ๊ฒฝํ ๋ ์ฌ์ฉ
<Navigate>
์ปดํฌ๋ํธ๋ ์ฌ์ค์ useNavigate ํ ์ ์ฌ์ฉํ๋ ๋ํผ(Wrapper) ์ปดํฌ๋ํธ๋ก์, useNavigate์ ๋์ผํ ์ธ์๋ฅผ props๋ก ๋ฐ์ ์ ์๋ค.
useNavigate
ํจ์๋ฅผ ๋ฐํํ๋ฉฐ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ผ๋ก ํ์ด์ง ์ ํ์ ์ํํ ์ ์๋ค.
์ฒซ ๋ฒ์งธ ์ธ์๋ก ์ด๋ํ ํ์ด์ง
to
๊ฐ์, ๋ ๋ฒ์งธ๋ก ์ต์ ๊ฐ์ฒด๋ฅผ ์ ๋ฌํ ์ ์๋ค.
ํ์คํ ๋ฆฌ ์คํ ๋ณ๊ฒฝ๋ ์ ๋ ฅ ๋ฐฉ์๋ ์๋ค.
์ต์
๊ฐ์ฒด
replace: ํ์ด์ง ์ด๋ ํ ์ด์ ํ์ด์ง๋ก ๋์๊ฐ ์ ์๋ค. ๋ค๋ก๊ฐ๊ธฐ๋ฅผ ๋๋ฅด๋ฉด ๋ฉ์ธ ํ์ด์ง('/')๋ก ์ด๋ํ๋ค.
state: ํ์ด์ง ์ ํ ์ ์ํ๋ฅผ ํจ๊ป ์ ๋ฌํ ์ ์๋ค.
{ state: { productInfo: '์ํ ์ ๋ณด' } }
preventScrollReset: ํ์ด์ง ์ ํ ์ ์คํฌ๋กค ์์น๋ฅผ ๊ณ ์ ์ํฌ ์ ์๋ค.
Last updated