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.
İlgili Next.js soruları
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.