Menu
CoddyTech

回顾:导航

本课属于 Coddy React 学习旅程的“Next.js 基础”单元。第 38 课,共 47 课。

challenge icon

挑战

中等

本章回顾:一个小应用,涵盖 URL 的两个方向:导航栏会读取当前所在位置,菜单页则根据查询字符串筛选内容。

  1. 在 components/Nav.jsx 中,调用 usePathname(),当链接的 href 与当前路径匹配时,为每个链接设置 className "nav-link active";否则设置为普通的 "nav-link"。主页是 /,菜单是 /menu。
  2. 在 app/menu/page.jsx 中,从 searchParams 读取 category(记住,它是一个promise),并且只显示匹配的菜品;如果没有提供类别,就显示所有菜品。

/menu?category=pizza 应显示 4 道菜中的 2 道,并高亮显示菜单链接。

亲手试试

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 基础中的所有课