Menu
Coddy logo textTech

Adım 8: Değerlendirme Yap

Coddy'nin React Journey'sinin Next.js Temel Esasları bölümünün bir parçası. Ders 46 / 47.

challenge icon

Görev

Orta

İnsanların bir yemeği değerlendirmesini sağlayın.

  1. 'use server'; ile başlayan app/actions.js dosyasını tamamlayın ve async function addReview(formData) işlevini dışa aktarın.
  2. Form verilerinden slug ve text değerlerini okuyun, boş bir text değerini yok sayın, ardından await addReviewToDb(slug, text) ifadesini çalıştırın ve next/cache içinden revalidatePath('/menu/' + slug) işlevini çağırın.
  3. Yemek sayfasında await getReviews(slug) ifadesini kullanın ve .detail makalesinin altına bir <section> ekleyin.
  4. Bu bölüm, gizli bir input içeren <form id="review-form" action={addReview}> barındırır; bu inputta slug değerini taşıyan name="slug", id="review-input" name="text" özelliklerine sahip bir metin inputu ve <button id="review-submit" type="submit"> bulunur.
  5. Formun altında, her değerlendirme için bir <li> olacak şekilde <ul id="review-list" className="reviews"> oluşturun; her birinin id={'review-' + index} özelliği olmalıdır.

Kendin dene

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 Temel Esasları bölümündeki tüm dersler