Next.js · Middle · Frage 2 von 75
Was bringt <form action={createPost}> mit einer Server Action im Vergleich zu onSubmit + fetch?
- 1Das Formular wird dank einer dauerhaften WebSocket-Verbindung schneller abgeschickt
- 2Formulardaten werden automatisch gegen das Datenbankschema validiert
- 3Das Formular funktioniert schon vor dem Laden von JS (Progressive Enhancement), ohne API-Route
Antwort zeigen
Richtige Antwort: Das Formular funktioniert schon vor dem Laden von JS (Progressive Enhancement), ohne API-Route
Erklärung
Eine Server Action bekommt FormData direkt, man braucht also keinen Route Handler und kein fetch auf dem Client. Rendert eine Server Component das Formular, wird es schon vor der Hydration abgeschickt. Die Validierung schreibt man trotzdem selbst (etwa mit Zod). Den Zustand der Übermittlung zeigt man über useActionState oder useFormStatus.