Bước 6: Thêm vào giỏ hàng
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 44 trên 47.
Thử thách
DễThêm nút giỏ hàng và giữ trang ở phía máy chủ.
- Hoàn thiện tệp
components/CartButton.jsx, bắt đầu bằng'use client';. - Lưu
countbằnguseState(0). Hiển thị một<button id="add-to-cart" className="primary">có nội dungAdd to cart, nút này tăng giá trị khi được nhấp. - Bên dưới, hiển thị
<p id="cart-count" className="cart">với nội dung là giá trị đếm, tiếp theo làx, rồi đến propname, sau đó làin the cart, ví dụ2 x Street Tacos in the cart. - Trong
app/menu/[slug]/page.jsx, hiển thị<CartButton name={dish.name} />bên dưới giá. Không thêm'use client'vào trang.
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
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ệu8Dự án: Coddy Eats
Bước 1: Bộ khungBước 2: Lưới thực đơn