tanstack-form-composition
SolidMigrate a React @tanstack/react-form codebase from the prop-drilled `useForm` + erased-form-type pattern to the official `createFormHook` composition API (`useAppForm` / `withForm` / `field.X`). Use when a project threads a `form` object (often cast to an `any`-erased type like `ReactFormExtendedApi<any,...>`) through field-wrapper components that take `form`+`name` props, and you want typed field names/values, no casts, and reusable bound field components. Triggers: "migrate forms to createFormHook", "adopt useAppForm/withForm", "remove AnyReactForm cast", "type-safe tanstack form fields".
Install
Quality Score: 83/100
Skill Content
Details
- Author
- suxrobGM
- Repository
- suxrobGM/jobpilot
- Created
- 4 months ago
- Last Updated
- yesterday
- Language
- TypeScript
- License
- MIT
Integrates with
Similar Skills
Semantically similar based on skill content — not just same category
forms
Build or edit any form in a Next.js 16 App Router app — create dialogs, edit panels, settings UIs, anything with input fields that persist to a backend — via one shared toolkit in `lib/forms/` with explicit dirty + valid Save gating, baseline reset on success, and discriminated-union error mapping. Supports two equally-supported underlying form libraries: **TanStack Form + Zod** (default when no preference is set) or **react-hook-form + Zod** (auto-detected and used as-is when already present in the project). Use when the user says "form", "edit panel", "create dialog", "settings page", "save button", "dirty state", or when they reach for `useState` to hold field values, raw `useForm`, hand-rolled dirty tracking, or inline `toast.success/error` on submit. Refuses to apply if `meta.json#stack.framework != "next"` (or monorepo web side) or `stack.nextjs_version != "16"` — Pages Router and pre-16 are out of scope. Not for: React Native forms (RN uses a different ecosystem — refer to RN-side tooling), search boxe
react-dev
This skill should be used when building React components with TypeScript, typing hooks, handling events, or when React TypeScript, React 19, Server Components are mentioned. Covers type-safe patterns for React 18-19 including generic components, proper event typing, and routing integration (TanStack Router, React Router).
react-19-notes
React 19 (December 2024) signature features and the breaking-change traps from 18 -> 19. Use when writing or reviewing code in a React 19 project, or planning an upgrade from React 18. Covers Actions and async transitions, the new hooks (useActionState/useOptimistic/useFormStatus and the use() API), ref as a regular prop (forwardRef deprecated), <Context> as a provider, document metadata hoisting, resource preloading (preload/preinit), stable Server Components/Actions, and the removal of long-deprecated APIs (ReactDOM.render/hydrate, propTypes/defaultProps on function components, legacy Context, string refs). Not for application business logic — load when working on React-language code or planning an 18 -> 19 upgrade. Note: React 19 is recommended but NOT required for Next.js 16 (React 18.2+ also works). Output: version-specific guidance, migration traps, and verification gates.