Шаг 6: Добавление в корзину
Часть раздела Основы Next.js путешествия по React на Coddy — урок 44 из 47.
Задание
ЛегкоДобавьте кнопку корзины и оставьте страницу на сервере.
- Создайте
components/CartButton.jsx, начиная с'use client';. - Храните
countвuseState(0). Отобразите<button id="add-to-cart" className="primary">с текстомAdd to cart, который увеличивает значение при клике. - Ниже отобразите
<p id="cart-count" className="cart">, содержащий count, затемx, затем пропname, затемin the cart, например2 x Street Tacos in the cart. - В
app/menu/[slug]/page.jsxотобразите<CartButton name={dish.name} />под ценой. Не добавляйте'use client'на страницу.
Попробуйте сами
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>
);
}Все уроки раздела Основы Next.js
2Маршрутизация и ссылки
Папки как маршрутыВложенные маршрутыСвязывание страницДинамические маршрутыСтраницы 404 (Not Found)Итоги: Маршрутизация5Данные на сервере
Асинхронные компонентыОжидание параметров маршрутаДва запроса одновременноСостояния загрузкиОбработка ошибокИтоги: получение данных8Проект: Coddy Eats
Шаг 1: Оболочка