Menu
CoddyTech

Đọc lỗi

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

Bạn sẽ gặp ranh giới giữa máy chủ và máy khách từ rất lâu trước khi hiểu rõ về nó, và bạn sẽ gặp nó dưới dạng một thông báo lỗi. Không sao cả. Lỗi của framework không phải là hình phạt, chúng là cách nhanh nhất để học các quy tắc.

Đây là lỗi đầu tiên bạn sẽ gặp. Một trang sử dụng useState, ứng dụng từ chối hiển thị và thời gian chạy báo:

You're importing a component that needs a
React hook (in <Home>). Hooks only work in Client
Components. To fix this, add "use client" to the top
of the file.

Đọc thông báo như cách bạn đọc lời nhắn từ đồng nghiệp, gồm ba phần:

  • Vấn đề: một thành phần cần một hook của React
  • Vị trí: <Home>, để bạn biết cần mở thành phần nào
  • Quy tắc và cách khắc phục: hook chỉ hoạt động trong các thành phần phía máy khách; thêm "use client"

Một thông báo lỗi tốt của framework sẽ nêu rõ quy tắc bạn đã vi phạm. Nếu chỉ lướt qua, bạn sẽ đoán mò suốt hai mươi phút; đọc kỹ thì chỉ mất hai mươi giây. Đây là kỹ năng đáng để luyện tập có chủ đích, vì nó phân biệt những người thích thú với framework mới với những người phải vật lộn với nó.

Đến lúc tự sửa một lỗi rồi.

challenge icon

Thử thách

Người mới

Trang bộ đếm này bị lỗi. Chạy trang và đọc thông báo của môi trường chạy.

Trang gọi useState, nhưng đây là thành phần máy chủ, còn hook chỉ hoạt động trong thành phần máy khách.

  1. Làm đúng theo yêu cầu trong lỗi: đánh dấu app/page.jsx là thành phần máy khách.
  2. Không thay đổi gì khác: logic của bộ đếm đã chính xác.

Tự làm thử

import './globals.css';

export const metadata = {
    title: 'My App',
};

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