# FormRenderer

<PageBadges />

`FormRenderer` convalida e prepara uno schema, crea il motore del modulo, renderizza i campi e
Sezioni e produce record strutturati su submission.

```jsx
<FormRenderer
  schema={schema}
  initialValues={{ name: "Ada" }}
  mode="edit"
  theme="standard"
  colorMode="system"
  labelPosition="top"
  onSubmit={saveRecord}
/>
```

## Proprietà essenziali

| Proprietà          | Oggetto                                                           |
| ------------------ | ----------------------------------------------------------------- |
| `schema`           | Un form0 schema contenente `form.elements`.                       |
| `initialValues`    | Valori di campo iniziali non ripetibili.                          |
| `initialSnapshot`  | Ripristinare valori grezzi, stato ripetibile e timestamp insieme. |
| `overrideValues`   | Applicare valori autorevoli rispetto ai valori iniziali.          |
| `onSubmit`         | Ricevi il record strutturato e i metadati submission.             |
| `onSnapshotChange` | Osservare seed e user-change snapshots.                           |
| `mode`             | Avviare la modalità `edit` o `readonly`.                          |

## UI e Stato di proprietà dei consumatori

- `headerAccessory` rende un nodo React, o una funzione che riceve `{ mode }`, tra il sommario
  e forma il corpo.
- `recordMetadataFields` visualizza metadati dei record in sola lettura. Un descrittore con `displayValue` non
  immette i valori del motore, snapshots, o i valori inviati.
- `externalDirty` include modifiche di proprietà dell'applicazione nella conferma dello scarto di sovrapposizione.
- `submitBlockedReason` disattiva e protegge submission mentre un requisito esterno è irrisolto.
- `onSchemaReady` riceve la schema preparata dopo che sono state garantite chiavi stabili.

## Proprietà dell'elemento modulo

Ulteriori proprietà del modulo standard come `id`, `aria-*` e gestori di eventi vengono inoltrati a
il reso `<form>`. Non utilizzare questo percorso per la configurazione del motore.

Continua con [Valori, snapshots, e submission](/it/bindings/react/values-snapshots-submission) o
[Modalità, posizionamento e navigazione](/it/bindings/react/modes-placement-navigation).
