๐ก๋ ธ๋ง๋์ฝ๋ ๋๊ผฌ์ค์ ๊ฐ์๋ฅผ ๋ณด๋ฉฐ ๊ณต๋ถํ๋ ์๋ฆฌ์ฆ์ ๋๋ค.
๋ฆฌ์กํธ์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฅ์คํธ์์๋ aํ๊ทธ๋ฅผ ์ฌ์ฉํ์ง ์๋ ๋์ LINK๋ผ๋ ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ ์ ์๋ค.๐๐ปNEXT.JS๊ณต์๋ฌธ์
ํ๋ก์ ํธ ์ต์๋จ ๋ฃจํธ์ component๋ผ๋ ํด๋๋ฅผ ์์ฑํ๊ณ , ๊ทธ ์์ Navigation.tsx
๋ฅผ ๋ฃ์ด์ค๋ค.Navigation.tsx
ํ์ผ์ Link๋ฅผ importํ๊ณ UI๋ฅผ ๋ง๋ค์ด ์ฃผ์๋ค.
import Link from 'next/link'
Navigation.tsx
๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ appํด๋์ page.tsx
์ ๊ฒฝ๋กํด๋์ธ aboutํด๋์ page.tsx
ํ์ผ์ importํด์ผํ๋ค.๊ฒฐ๊ณผ
๋ฉ์ง๊ฒ ์๋ํ๋ ๊ฒ์ ๋ณผ ์ ์์ง๋ง ์ปดํฌ๋ํธ๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ๋ณต์ฌ ๋ถ์ฌ๋ฃ๊ธฐ๋ฅผ ํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์ข์ ๋ฐฉ๋ฒ์ ์๋๋ค.
usePathname
user๊ฐ ํ์ฌ ๋จธ๋ฌผ๊ณ ์๋ url์ ์๋ ค์ฃผ๋ Hook.
Navigation.tsx
์ usePathname์ importํ๊ณ , console๋ก path๋ฅผ ์ฐ์ด๋ณธ๋ค.
๋์ถฉ
"use client"
๋ฅผ ํ์ผ ์ต์๋จ์ ๋ฌ์ผํ๋ค๋ ๋ง ๊ฐ๋ค. ์๋ดํ๋ ๋๋ก "use client"
๋ฅผ ์ฌ์ฉํด๋ณธ๋ค.
'use client';
import Link from 'next/link';
import { usePathname } from 'next/navigation';
์๋ฌ๊ฐ ์ฌ๋ผ์ง๊ณ ์ฝ์์ path๊ฐ ์ฐํ์๋ค.
path์ ๋ฐ๋ผ์ nav์์ ๐ฅ์์ด์ฝ์ ๋ณด์ฌ์ง๊ฒ ํด๋ณด์๋ค.
'use client';
import Link from 'next/link';
import { usePathname } from 'next/navigation';
export default function Navigation() {
const path = usePathname();
return (
<nav>
<ul>
<li>
<Link href="/">Home</Link>
{path === '/' ? '๐ฅ' : ''}
</li>
<li>
<Link href="/about">About</Link>
{path === '/about' ? '๐ฅ' : ''}
</li>
</ul>
</nav>
);
}
๊ฒฐ๊ณผ
BOOYAH!