# Lavoratori e prestazioni

<PageBadges />

## Esecuzione del motore

Lo `engineMode="main-thread"` predefinito valuta il motore del modulo sul thread dell'interfaccia utente.
`engineMode="worker"` per spostare la valutazione del motore nel modulo confezionato worker quando Web Workers
sono disponibili:

```jsx
<FormRenderer schema={schema} engineMode="worker" />
```

Vite supporta il modello statico modulo- worker utilizzato dal pacchetto ed emette la worker durante un
La versione mantenuta di Vite starter esclude `form0-react` dall'ottimizzazione delle dipendenze
così questo worker rimane disponibile.

Il pubblico `FormRenderer` API non accetta una fabbrica personalizzata worker URL o worker. Applicazioni
Utilizzando un altro bundler dovrebbe confermare che supporta
`new Worker(new URL("./worker.js", import.meta.url), { type: "module" })`; altrimenti utilizzare il valore predefinito
modalità filo principale.

Se il browser non supporta Worker, binding torna all'esecuzione del thread principale.

## Modalità negozio React

`engineStoreMode="snapshot"` clona il motore snapshot nello stato React ed è quello predefinito.
`engineStoreMode="selector"` utilizza gli abbonamenti di campo per ridurre i rerender di grandi dimensioni.

Trattare la modalità selettore come un'ottimizzazione: verificare errori di campo, riassunti di navigazione, ripetibile
sezioni e comportamento submission nell'applicazione di destinazione prima di adottarla.
