Loading homepage
Build a controlled contact form with Name, Email, and Message fields. Keep each field in framework state and update it as the user types. On submission, display a snapshot of the entered values without reloading the page.
This is a local form exercise: no API, email delivery, or backend is required. The starter intentionally contains only a form and one empty text input.
Input: Initial render Output: Three empty fields and a Submit button; no submission.
Input: Name: Ada Lovelace; Email: ada@example.com; Message: Hello!; then Submit Output: {"name":"Ada Lovelace","email":"ada@example.com","message":"Hello!"}
Input: Edit Message after submission Output: The fields update; the last submitted JSON stays unchanged until Submit is selected again.
Inputs are name, email, and message. A valid submission renders a local JSON snapshot; no server request is made.