useLocation ํ โญ๏ธ
- useLocation ํ ์ ํ์ฌ์ URL์ ๋ํํ๋ location '๊ฐ์ฒด' ๋ฅผ ๋ฐํํ๋ค.
- ๊ฐ์ฒด์์๋ pathname, search, hash, state, key ํ๋กํผํฐ๊ฐ ์กด์ฌํ๋ค.
- pathname : ํ์ฌ ์ฃผ์์ ๊ฒฝ๋ก (์ฟผ๋ฆฌ์คํธ๋ง, ํด์ ์ ์ธ)
- search : pathname ์ดํ์ ? ๋ถํฐ์ ๋ฌธ์์ด (์ฟผ๋ฆฌ์คํธ๋ง)
- hash : pathname ์ดํ์ # ๋ถํฐ์ ๋ฌธ์์ด (ํด์)
- state : location ๊ฐ์ฒด๋ก ํ๋ฉด์ด๋์ ์ํฌ ๋ ์ฝ๋ ์์ผ๋ก ๋ณด๋ด๋ ๊ฐ์ฒด
- key : history stack์์ location ๊ฐ์ฒด๋ฅผ ์ฐพ๊ธฐ ์ํ ๊ณ ์ ํค
์ฌ์ฉ๋ฒ
import { useLocation } from 'react-router-dom'
const Home = () => {
const location = useLocation();
console.log(location);
}
- react-router-dom ์์ useLocation ์ ๊บผ๋ด์ ์ฌ์ฉํ๋ฉด ๋๋ค.
- ํด๋น ํ ์ ๋ถ๋ฌ์ ๋ณ์์ ๋ฃ์ด์ฃผ๊ณ ์ฝ์๋ก๊ทธ๋ก ์ฐ์ด๋ณด๋ฉด ํ๋กํผํฐ๊ฐ ๋ด๊ธด location ๊ฐ์ฒด๊ฐ ๋์จ๋ค.
์ฌ์ฉ ์์
- ๋ก์ผ์ด์ ํ ์ ๋ถ๋ฌ์ ๋ณ์์ ๋ฃ์ด์ฃผ๊ณ pathname์ ๋ฐ๋ฅธ ์์ด์ฝ ์ด๋ฏธ์ง๋ฅผ ๋ณ๊ฒฝ ํด์ฃผ๋ ์กฐ๊ฑด๋ถ ๋ ๋๋ง์ ๊ตฌํ.
๊ฒฐ๊ณผ
- ์ฑ๊ณตํ๋ค! navLink ํด๋ฆญ ์ ์ฃผ์ด์ง๋ active class๋ฅผ ์ด์ฉํ ๋ฐฉ๋ฒ๋ ์์ผ๋ ์ํฉ์ ๋ฐ๋ผ ๋ง์ถ์ด ์ฌ์ฉํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค๐
'React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[React] ์ฌ๊ท ์ปดํฌ๋ํธ (1) | 2023.10.15 |
---|---|
[React] debounce (feat. lodash) (0) | 2023.01.24 |
[React]useState (0) | 2022.11.16 |
[React]CustomHook (์ฌํ์ฉ์ฑ form๋ง๋ค๊ธฐ) (0) | 2022.08.19 |
[React]useMemo, useCallback (0) | 2022.08.19 |