
1. <Link> 이용
import Link from "next/link"
export default function Navigation(){
return (<nav>
<ul>
<li>
<Link href="/">Home</Link>
</li>
<li>
<Link href="/about-us">About Us</Link>
</li>
</ul>
</nav>
);
}
2. 페이지에 네비게이션 추가하기
import Navigation from "./components/navigation";
export default function Page(){
return (
<div>
<Navigation />
<h1>Hello</h1>
</div>);
}

import Navigation from "../components/navigation";
export default function AboutUs() {
return (
<div>
<Navigation />
<h1>About Us</h1>
</div>
);
}

import Navigation from "./components/navigation";
export default function NotFound(){
return(
<div>
<Navigation />
<h1>Not Found</h1>
</div>
);
}

3. 사용자 경로 만들어 적용하고 콘솔에 표시하기
- usePathname hook 사용시 오류남
import Link from "next/link"
import { usePathname } from "next/navigation";
export default function Navigation(){
const path = usePathname();
console.log(path);
return (<nav>
<ul>
<li>
<Link href="/">Home</Link>
</li>
<li>
<Link href="/about-us">About Us</Link>
</li>
</ul>
</nav>
);
}

이 컴포넌트는
usePathname
을 필요
usePathname
은 클라이언트 컴포넌트에서만 작동
부모들이 모두 "use client"
로 표시되어 있지 않으므로 기본적으로 서버 컴포넌트"use client"
import Link from "next/link"
import { usePathname } from "next/navigation";
export default function Navigation(){
const path = usePathname();
console.log(path);
return (<nav>
<ul>
<li>
<Link href="/">Home</Link>
</li>
<li>
<Link href="/about-us">About Us</Link>
</li>
</ul>
</nav>
);
}



4. 해당 페이지에서만 이모티콘 사용하기
"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><Link href="/">Home</Link>{path === "/" ? "🔥" : ""}
</li>
<li>
<Link href="/about-us">About Us</Link><Link href="/">Home</Link>{path === "/about-us" ? "🔥" : ""}
</li>
</ul>
</nav>
);
}


Share article