Menu
Coddy logo textTech

요약: 내비게이션

Coddy React 여정의 Next.js 핵심 (Next.js Essentials) 섹션에 포함된 레슨 — 47개 중 38번째.

challenge icon

챌린지

중급

챕터 요약: 하나 작은 앱, URL의 양방향: 현재 위치를 읽는 내비게이션과 쿼리 스트링으로 필터링되는 메뉴 페이지입니다.

  1. components/Nav.jsx에서 usePathname()을 호출하고, 각 linkhref가 현재 경로와 일치할 때 className"nav-link active"로, 그렇지 않으면 "nav-link"로 지정하세요. Home/, Menu/menu입니다.
  2. app/menu/page.jsx에서 searchParams로부터 category를 읽어오고(promise임을 기억하세요) 일치하는 dishes만 표시하거나, category가 주어지지 않은 경우 모든 항목을 표시하세요.

/menu?category=pizza는 4개의 dishes 중 2개를 표시해야 하며, Menu link가 하이라이트되어야 합니다.

직접 해보기

import './globals.css';
import Nav from '../components/Nav.jsx';

export const metadata = {
    title: 'Coddy Eats',
};

export default function RootLayout({ children }) {
    return (
        <html lang="en">
            <body>
                <Nav />
                {children}
            </body>
        </html>
    );
}

Next.js 핵심 (Next.js Essentials)의 모든 레슨