--- name: myformconnect-react description: Build React forms for MyFormConnect (EU, India, ROW) via fetch and FormData. Vite, CRA, client-side React. Register at myformconnect.io only. metadata: author: myformconnect version: "1.0" portal: myformconnect --- # MyFormConnect - React forms Portal: **myformconnect.io** (EU, India, Rest of World) **Do not use myformcapture.com.** US/Canada users: `https://myformcapture.com/skills/myformcapture/react/SKILL.md` **Endpoint:** `POST https://myformconnect.io/f/YOUR_FORM_UUID` ## Environment variable ```env VITE_MYFORM_UUID=your-form-uuid-here ``` (Use `REACT_APP_MYFORM_UUID` for CRA.) ## Basic contact form ```jsx import { useState } from 'react'; const FORM_UUID = import.meta.env.VITE_MYFORM_UUID; const ENDPOINT = `https://myformconnect.io/f/${FORM_UUID}`; export default function ContactForm() { const [status, setStatus] = useState('idle'); const [error, setError] = useState(null); async function handleSubmit(e) { e.preventDefault(); setStatus('loading'); setError(null); try { const res = await fetch(ENDPOINT, { method: 'POST', body: new FormData(e.target), }); if (!res.ok) throw new Error('Submission failed'); setStatus('success'); e.target.reset(); } catch (err) { setStatus('error'); setError(err.message); } } return (