Kontaktformulare für React

Baue ein funktionierendes Kontaktformular für deine React-App, ganz ohne Backend und ohne API-Route. Es ist eine einzige Komponente mit einem Submit-Handler, der an Formpaste postet. Sieh es dir live an, kopiere den Code in deinem bevorzugten Styling, und Einsendungen landen direkt in deinem Posteingang - Spam wird automatisch gefiltert.

So erstellst du ein React-Formular

  1. 1

    Erstelle ein Formular in deinem Formpaste-Dashboard und kopiere den Zugangsschlüssel.

  2. 2

    Kopiere die React-Komponente oben in deine App und wähle dein Styling.

  3. 3

    Ersetze YOUR_ACCESS_KEY_HERE durch deinen Zugangsschlüssel und deploye.

Prompt für deinen KI-Coding-Agenten

Add a Formpaste contact form to my React app. Use a component with an onSubmit that POSTs the form as application/x-www-form-urlencoded (URLSearchParams) to https://api.formpaste.com/submit with a hidden access_key input. No API route, no backend.

Oder verbinde den Formpaste-MCP-Server mit Claude Code, Codex, Cursor, Claude Desktop, VS Code oder einem beliebigen mcp-remote-Client. Zur Einrichtungsanleitung.

Nur eine Komponente und ein Fetch

Ein React-Kontaktformular ist eine Komponente mit einem onSubmit, der an Formpaste postet. Es gibt keine API-Route, keinen Mailer und keine Datenbank - du kopierst die Komponente, trägst deinen Zugangsschlüssel ein, und Einsendungen landen in deinem Posteingang. Das funktioniert genauso in einer Vite-App, Create React App oder jedem React-basierten Framework.

Die Antwort verarbeiten

Der Endpunkt liefert JSON (success, message, id) zurück. Warte auf den Fetch und setze einen State, um deine eigene Erfolgs- oder Fehlermeldung anzuzeigen, oder lege eine Weiterleitungs-URL in deinen Dashboard-Einstellungen fest und lass Formpaste den Besucher zu einer Dankeseite schicken - ganz ohne zusätzlichen Client-Code.

Kontrolliert oder unkontrolliert

Für ein einfaches Kontaktformular ist es am wenigsten Code, beim Submit ein FormData vom Formularelement auszulesen. Wechsle zu useState-kontrollierten Feldern, wenn du schon während der Eingabe validieren willst. So oder so bleibt der finale POST derselbe.

So funktioniert es

Drei einfache Schritte, bis Formular-Einsendungen in deinem E-Mail-Posteingang landen.
Erstelle dein Formular, setze die action-URL auf den Formpaste-Endpunkt und trage deinen Zugangsschlüssel ein.

1

Formular erstellen

Melde dich an, verifiziere deine E-Mail und erstelle einen Zugangsschlüssel im Dashboard.

2

Code kopieren

Füge das Snippet oben in dein Projekt ein. Wähle CSS oder Tailwind passend zu deiner Website.

export function ContactForm() {
  async function onSubmit(e) {
    e.preventDefault();
    const form = new FormData(e.currentTarget);
    await fetch("https://api.formpaste.com/submit", { method: "POST", body: new URLSearchParams(form) });
  }

  return (
    <form onSubmit={onSubmit} className="mx-auto flex w-full max-w-md flex-col gap-4 rounded-xl border border-gray-200 bg-white p-6 shadow-sm dark:border-gray-800 dark:bg-gray-950">
      <input type="hidden" name="access_key" value="YOUR_ACCESS_KEY_HERE" />
      <label className="flex flex-col gap-1.5 text-sm font-medium text-gray-900 dark:text-gray-100">Name
    <input type="text" name="name" placeholder="Dein Name" required className="rounded-md border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 shadow-sm outline-none focus-visible:ring-2 focus-visible:ring-gray-900 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:focus-visible:ring-gray-100" />
  </label>
      <label className="flex flex-col gap-1.5 text-sm font-medium text-gray-900 dark:text-gray-100">E-Mail
    <input type="email" name="email" placeholder="du@beispiel.de" required className="rounded-md border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 shadow-sm outline-none focus-visible:ring-2 focus-visible:ring-gray-900 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:focus-visible:ring-gray-100" />
  </label>
      <label className="flex flex-col gap-1.5 text-sm font-medium text-gray-900 dark:text-gray-100">Nachricht
    <textarea name="message" required className="min-h-28 rounded-md border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 shadow-sm outline-none focus-visible:ring-2 focus-visible:ring-gray-900 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:focus-visible:ring-gray-100"></textarea>
  </label>
      <button type="submit" className="w-full rounded-md bg-gray-900 px-4 py-2 text-sm font-medium text-white shadow-sm transition-colors hover:bg-gray-800 disabled:opacity-60 dark:bg-white dark:text-gray-900 dark:hover:bg-gray-200">Senden</button>
    </form>
  );
}
3

Zugangsschlüssel hinzufügen

Ersetze den Platzhalter durch deinen Zugangsschlüssel, um Einsendungen zu empfangen.

<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY_HERE">

Kontaktformulare für React FAQ

Formular einfügen. Einsendungen erhalten.

Sofort, ohne Backend, Server oder Datenbanken einzurichten. 250 Einsendungen/Monat kostenlos - keine Kreditkarte.

Das bekommst du mit Formpaste

Kein Server, kein DNS

Richte dein Formular auf Formpaste aus - kein Backend, kein DNS, kein E-Mail-Server zu betreiben.

Spam automatisch gefiltert

Heuristiken plus ein Quarantäne-Ordner, den du kontrollierst. Echte Nachrichten kommen immer durch.

Quarantäne, die du kontrollierst

Verdächtige Einsendungen landen in einem Ordner, den du prüfst - nichts wird stillschweigend verworfen.

Gebaut für KI-Agenten

Ein MCP-Server, den dein Coding-Agent aufruft, um ein Formular zu erstellen und einzurichten.

Copy-Paste-Komponenten

Zugänglicher Copy-Paste-Formularcode für HTML, React, TypeScript, JavaScript und Astro.

Einfaches Dashboard

Verwalte Formulare, Posteingang, Quarantäne und Zustellung an einem Ort.

Weitere React-Formulare

Weitere Plattformen