Menu
CoddyTech

Bước 5: Tiêu đề trang

Thuộc phần Kiến thức thiết yếu về Next.js trong hành trình React của Coddy. Bài học 43 trên 47.

challenge icon

Thử thách

Dễ

Đặt tiêu đề thẻ riêng cho từng món ăn.

  1. Trong app/menu/[slug]/page.jsx, hãy xuất async function generateMetadata({ params }).
  2. Chờ params để lấy slug, sau đó await getDish(slug).
  3. Nếu không có món ăn, hãy trả về { title: 'Not on the menu' }.
  4. Nếu có, hãy trả về name của món ăn làm title và description của món ăn làm description.

Tự làm thử

import Link from 'next/link';
import './globals.css';

export const metadata = {
    title: {
        default: 'Coddy Eats',
        template: '%s | Coddy Eats',
    },
};

export default function RootLayout({ children }) {
    return (
        <html lang="en">
            <body>
                <nav className="nav">
                    <Link className="brand" href="/">Coddy Eats</Link>
                    <Link id="nav-menu" href="/">Menu</Link>
                    <Link id="nav-desserts" href="/?category=dessert">Desserts</Link>
                </nav>
                <div className="container">
                    {children}
                </div>
            </body>
        </html>
    );
}

Tất cả bài học trong Kiến thức thiết yếu về Next.js