← ClaudeAtlas

formio-react-formlisted

Embed a Form.io form in a React application with `@formio/react`'s `Form` component — mounting, the event surface, the live instance, the lifecycle traps, provider configuration, anonymous versus authenticated submission, and the Vite and Next.js requirements. Reached by handoff from `formio-react`'s embed branch. Use when the user says "embed a Form.io form in React", "render a form in my React app", "use `@formio/react`'s `Form` component", or "add a Form.io form to this React page". Not for: framework-agnostic embedding and every field-behaviour question — conditionals, calculated values, validation, cascading selects (see `formio-form`); resource CRUD screens (see `formio-react-resources`); creating a form that does not exist yet (see `formio-form-builder`); the raw SDK reference (see `formio-sdk`).
formio/ai · ★ 7 · Web & Frontend · score 75
Install: claude install-skill formio/ai
# Embedding a Form.io form in React > **Nested sub-skill.** This file lives at `plugin/skills/formio-react/formio-react-form/SKILL.md` and is **loaded by path** from `formio-react`'s embed branch. Its `name` frontmatter exists so recursive-scan clients classify it correctly; it is not a separately-registered top-level skill, so do not invoke it by frontmatter name. Getting a form onto a React page and controlling it from React. One API does the mounting: ```tsx <Form src={formJson} submission={submission} onSubmit={handleSubmit} /> ``` ## Scope — mounting here, behaviour in `formio-form` This skill covers only what differs **because the host is React**: mounting, the event surface, the live instance, the lifecycle contract, the provider, styling, and build environments. Everything that lives in the **form definition** is owned by [`formio-form`](../../formio-form/SKILL.md) and reached by link, never restated here: conditionals, calculated values, validation rules, component logic, external data sources and cascading selects, wizard page logic, and the JSON Logic primer. That content is identical whatever renders the form, and a second copy is a copy that drifts. When a React embedding question turns out to be a definition question — "how do I hide this field when that one is empty", asked inside a React app — route to the matching `formio-form` reference rather than answering locally. ## Preflight — the Form.io MCP server **Check this when you reach your first Form.i