Ôn tập: Lấy dữ liệu
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 28 trên 47.
Thử thách
Trung bìnhTóm tắt chương: một thực đơn tải mọi thứ trên máy chủ.
lib/data.js đã có sẵn và bị khóa: getDishes() trả về một promise chứa mảng các đối tượng { id, name, price }, còn getDish(slug) tìm một đối tượng trong số đó.
- Trong
app/page.jsx, biếnHomethành hàmasyncvà dùngawait getDishes()để gán kết quả cho biếndishes. - Bên trong
<ul id="dish-list">, hiển thị một<li>cho mỗi món ăn, vớikey={dish.id},id={dish.id}và tên món ănnamelàm nội dung. app/menu/[slug]/page.jsxhiển thịUnknown dishcho mọi URL: hàm này phân rãparamsmà không chờ giá trị. Hãy dùngawaitvớiparamsđể thao tác tra cứu nhận được slug thực. Khi truy cập/menu/carbonara,#dish-namephải hiển thịCarbonaravà#dish-pricephải hiển thị giá của món ăn.
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>
);
}Tất cả bài học trong Kiến thức thiết yếu về Next.js
4Máy chủ và client
Hai loại thành phầnĐọc lỗiDòng 'use client'Giữ phần client nhỏ gọnMáy chủ bên trong clientTóm tắt: máy chủ và client7Điều hướng phía máy khách
Liên kết đang hoạt độngĐiều hướng bằng codeLọc bằng URLBộ xử lý tuyến đườngÔn tập: Điều hướng2Định tuyến và liên kết
Thư mục tạo thành tuyến đườngTuyến đường lồng nhauLiên kết các trangTuyến đường độngTrang không tìm thấyÔn tập: định tuyến5Dữ liệu trên máy chủ
Thành phần bất đồng bộChờ tham số của tuyếnHai lần gọi dữ liệu cùng lúcTrạng thái tảiXử lý lỗiÔn tập: Lấy dữ liệu