Server-Aktionen sind besonders nützlich, wenn die Mutation eng mit der Route verbunden ist, die die UI rendert. In diesem Fall entfernen sie eine Menge Klebekodex, der nur existierte, um Formulardaten in einen Routenhandler zu transportieren und wieder zurück.
Das ist ein echter Gewinn an Produktivität.
Wo sie am besten funktionieren
Route-lokale Mutationen sind der ideale Anwendungsbereich:
- Einstellungsformulare
- Profilaktualisierungen
- Administratorumschalter
- Inhalteverwaltungsaktionen
Eine typische Aktion ist klein und direkt:
"use server";
export async function updateProfile(formData: FormData) {
const name = formData.get("name") as string;
await db.user.update({ where: { id: userId }, data: { name } });
}
Das bedeutet weniger Boilerplate als eine separate API-Schicht für jedes kleine Formular.
Was sie nicht ersetzen
Server-Aktionen sind kein Grund, überall explizite Verträge zu löschen. Öffentliche APIs, Integrationen, mobile Clients und die Kommunikation zwischen Dienstleistungen profitieren weiterhin von klar definierten Grenzen.
Das ist die echte architektonische Unterscheidung:
- UI-nahe Mutationen: Server-Aktionen können ausgezeichnet sein
- team- oder klientübergreifende Verträge: explizite APIs sind weiterhin überlegen
Bessere Regel
Verwenden Sie Server-Aktionen, um Mutationen zu vereinfachen, die eng mit einer Next.js App Router UI gekoppelt sind. Halten Sie explizite API-Grenzen dort, wo Konsumenten, Eigentum oder Wiederverwendung über diese Route hinausgehen.
Das gibt Ihnen den ergonomischen Vorteil, ohne vorzugeben, dass jede Backend-Angelegenheit verschwunden ist.
Weiterführende Literatur