No forms library
The "No forms library" option of the ReadyNative Expo template: controlled @/ui Inputs with useState.
Expo Go: yes
Runs in Expo Go; no dev build needed for this module.
Nothing is installed - you write controlled Inputs from @/components/ui with useState and validate by hand. I'd keep this while your forms are one or two fields (a search box, a rename dialog); it's one less dependency and the kit's Input already renders labels and errors. With --with-examples, /examples/form shows the core "Module not installed" screen.
Setup
bun run setup --forms noneThat's it - there's nothing to configure.
Usage
import { useState } from "react";
import { Button, Input } from "@/components/ui";
const [email, setEmail] = useState("");
const error = email.includes("@") ? undefined : "Enter a valid email";
<Input label="Email" value={email} onChangeText={setEmail} error={error} />;
<Button onPress={submit}>Save</Button>;Gotchas
- Once a form grows past a couple of fields, or you want a schema, run
bun run setup --forms react-hook-form. It adds aFieldcomponent that binds the sameInputthroughController.
Reference
Everything below is generated from modules/forms/none/module.json - the same file bun run setup reads, so it is what actually lands in your repo.
Install
bun run setup --forms noneModule id: forms/none.