#631·react

FormBuilder onChange callback not triggered when options prop is provided

Author: ceallachcappuccinoCreated Dec 12, 2025Updated Dec 29, 2025

Describe the bug The onChange callback of FormBuilder from @formio/react is not triggered when the options prop is provided. This happens even if options is an empty object (options={{}}). As soon as options is set, form changes made in the builder UI no longer invoke the onChange handler.

Version/Branch @formio/react: "6.1.1" Framework: Next.js (App/Pages Router)
Rendering: client-side only (ssr: false via dynamic import)

To Reproduce Steps to reproduce the behavior:

  1. Create a Next.js project and dynamically import FormBuilder:
typescript
   const FormBuilder = dynamic(
     () => import('@formio/react').then((module) => module.FormBuilder),
     { ssr: false }
   )
  1. Define a simple onChange callback:
typescript
const handleFormChange = (schema: FormType) => {
  console.log('i handled the change')
}
  1. Render FormBuilder with initialForm, onChange, and any options prop (even an empty object):
typescript
<FormBuilder
  initialForm={initialForm}
  onChange={handleFormChange}
  options={{}}
/>

(The same issue occurs with a fully customized options.builder configuration.)

  1. Interact with the FormBuilder UI (add/remove/update components).
  2. Observe that handleFormChange is never called.

Expected behavior The onChange callback should be triggered whenever the form schema changes in the FormBuilder, regardless of whether the options prop is provided (including options={{}}).