Menu
CoddyTech

Điều hướng dùng chung

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 12 trên 47.

Thanh điều hướng là nội dung thường có trong bố cục: chỉ viết một lần, xuất hiện trên mọi đường dẫn và không bao giờ được gắn kết lại.

// app/layout.jsx
import Link from 'next/link';

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

Hãy chú ý vị trí của {children}: sau phần điều hướng. Mọi thứ bạn đặt trước nó sẽ xuất hiện phía trên trang, còn mọi thứ đặt sau nó sẽ xuất hiện phía dưới. Bố cục chỉ là JSX. Quy tắc duy nhất là phải có {children} ở đâu đó bên trong.

Giờ đây, bố cục là tệp của bạn, không còn bị khóa nữa. Thêm thanh điều hướng, rồi xem nó vẫn giữ nguyên vị trí khi nội dung trang bên dưới thay đổi.

challenge icon

Thử thách

Dễ

Thêm thanh điều hướng cho Coddy Eats, thanh này xuất hiện trên mọi trang.

Trong app/layout.jsx, bên trong <body> và phía trên {children}, hãy thêm:

  1. Một <nav> có id="nav"
  2. Bên trong, một <Link> trỏ đến /, có id="home-link" và văn bản Home
  3. Và một <Link> trỏ đến /menu, có id="menu-link" và văn bản Menu

Các trang đã bị khóa, bạn chỉ chỉnh sửa layout. Sau đó, các bài kiểm tra sẽ truy cập /menu và kiểm tra xem thanh điều hướng vẫn hiển thị trên màn hình hay không.

Tự làm thử

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

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

export default function RootLayout({ children }) {
    return (
        <html lang="en">
            <body>
                {children}
            </body>
        </html>
    );
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

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