Server Actions nedir? Nasıl kullanılır?

Cevap

Server Action, "use server" ile işaretlenen ve istemciden çağrılabilen ama sunucuda çalışan asenkron fonksiyondur. Form gönderimleri ve veri değişiklikleri için ayrı bir API endpoint'i yazma ihtiyacını ortadan kaldırır.

// app/yorumlar/actions.ts
"use server";
export async function yorumEkle(formData: FormData) {
  const metin = String(formData.get("metin") ?? "").trim();
  if (metin.length < 3) return { hata: "Yorum çok kısa" };
  await db.yorum.create({ data: { metin } });
  revalidatePath("/yorumlar");
}

// Bileşende
<form action={yorumEkle}>
  <textarea name="metin" />
  <button>Gönder</button>
</form>

JavaScript yüklenmeden de çalışır (progressive enhancement). useActionState ile bekleme ve hata durumları, useOptimistic ile iyimser güncelleme yapılır.

  1. next/image bileşeni normal img etiketine göre ne avantaj sağlar?KolayNext.jsFrontend
  2. Next.js'te Middleware (Proxy) ne işe yarar?OrtaNext.jsFrontend
  3. Next.js App Router'da Server Component ile Client Component arasındaki fark nedir?OrtaNext.jsFrontend
  4. Next.js nedir? Sade React'e göre ne kazandırır?KolayNext.jsFrontend
  5. Next.js'te SSR, SSG ve ISR nasıl yapılandırılır?OrtaNext.jsFrontend

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle