Forms
Forms for an Expo app, compared: React Hook Form, or none - Expo Go support and what each option installs.
Hey - here's how forms work in ReadyNative. This category decides whether you get a form library
on top of the kit's Input (@/components/ui), which already renders a label, a value and an error message.
Either way the inputs are the same kit primitives and validation messages land in the same
error prop, so a form written today keeps looking right if you switch stacks later. Swap with
bun run setup --forms <option>.
- react-hook-form - the default. Pick it as soon as a form has more than two fields or any
validation worth naming: you get a zod schema per form and a
Fieldcomponent that binds the kit'sInputthroughController. - none - controlled
Inputs withuseState. Fine for a search box or a rename dialog.
Options
One option per category - --forms <option> picks it:
bun run setup --forms react-hook-form| Option | Label | Expo Go | Hint |
|---|---|---|---|
react-hook-form | React Hook Form (default) | yes | Form + Field on @/ui Input, zod resolver · Expo Go OK |
none | No forms library | yes | controlled @/ui Inputs with useState |