All Projects โ†’ andyrichardson โ†’ Fielder

andyrichardson / Fielder

Licence: mit
A field-first form library for React and React Native

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Fielder

react-cool-form
๐Ÿ˜Ž ๐Ÿ“‹ React hooks for forms state and validation, less code more performant.
Stars: โœญ 246 (+53.75%)
Mutual labels:  hooks, forms, state, form
Final Form
๐Ÿ Framework agnostic, high performance, subscription-based form state management
Stars: โœญ 2,787 (+1641.88%)
Mutual labels:  state, form, forms
Vue Form Json Schema
Create forms using JSON schema. Bring your components!
Stars: โœญ 253 (+58.13%)
Mutual labels:  schema, form, forms
Formium
The headless form builder for the modern web.
Stars: โœญ 78 (-51.25%)
Mutual labels:  hooks, form, forms
Formik
Build forms in React, without the tears ๐Ÿ˜ญ
Stars: โœญ 29,047 (+18054.38%)
Mutual labels:  hooks, form, forms
React Form
โš›๏ธ Hooks for managing form state and validation in React
Stars: โœญ 2,270 (+1318.75%)
Mutual labels:  hooks, form, forms
React Hook Form
๐Ÿ“‹ React Hooks for form state management and validation (Web + React Native)
Stars: โœญ 24,831 (+15419.38%)
Mutual labels:  hooks, form, forms
Usetheform
React library for composing declarative forms, manage their state, handling their validation and much more.
Stars: โœญ 40 (-75%)
Mutual labels:  hooks, form, forms
Iostore
ๆž็ฎ€็š„ๅ…จๅฑ€ๆ•ฐๆฎ็ฎก็†ๆ–นๆกˆ๏ผŒๅŸบไบŽ React Hooks API
Stars: โœญ 99 (-38.12%)
Mutual labels:  hooks, state
Outstated
Simple hooks-based state management for React
Stars: โœญ 102 (-36.25%)
Mutual labels:  hooks, state
Clean State
๐Ÿป A pure and compact state manager, using React-hooks native implementation, automatically connect the module organization architecture. ๐Ÿ‹
Stars: โœญ 107 (-33.12%)
Mutual labels:  hooks, state
React Native Merlin
๐Ÿง™ Simple web-like forms in react native.
Stars: โœญ 83 (-48.12%)
Mutual labels:  form, forms
React Inform
Simple controlled forms with validations in react
Stars: โœญ 81 (-49.37%)
Mutual labels:  state, forms
Input Value
React hook for creating input values
Stars: โœญ 104 (-35%)
Mutual labels:  hooks, forms
Vue Rawmodel
RawModel.js plugin for Vue.js v2. Form validation has never been easier!
Stars: โœญ 79 (-50.62%)
Mutual labels:  schema, form
Hooked Form
Performant 2KB React library to manage your forms
Stars: โœญ 110 (-31.25%)
Mutual labels:  hooks, forms
Meteor Autoform
AutoForm is a Meteor package that adds UI components and helpers to easily create basic forms with automatic insert and update events, and automatic reactive validation.
Stars: โœญ 1,453 (+808.13%)
Mutual labels:  schema, forms
Jafar
๐ŸŒŸ!(Just another form application renderer)
Stars: โœญ 107 (-33.12%)
Mutual labels:  form, forms
React Workshop
โš’ ๐Ÿšง This is a workshop for learning how to build React Applications
Stars: โœญ 114 (-28.75%)
Mutual labels:  state, forms
React Controlled Form
Flexible, Modular & Controlled Forms for React and Redux
Stars: โœญ 121 (-24.37%)
Mutual labels:  form, forms

Fielder logo

Fielder

A field-first form library for React and React Native.

build version size coverage docs

About

Fielder is a form library for React and React Native that has been built from the ground up with a field-first approach to validation.

Features

โšก๏ธ Synchronous validation - no cascading renders

๐Ÿ›Ž Validation events - validation can differ per event (change, blur, submit, etc.)

๐Ÿช Hooks that work - hooks respond to validation changes

๐Ÿง  Evolving schemas - validation logic evolves with the UI

Basic usage

Install Fielder

Add Fielder to your project.

npm i fielder

Import the module

Use fielder or fielder/preact.

// React
import { useForm, ... } from 'fielder';

// Preact
import { useForm, ... } from 'fielder/preact';

Set up a form

Use the useForm hook to create a form.

const myForm = useForm();

return <FielderProvider value={myForm}>{children}</FielderProvider>;

Create some fields

Use the useField hook to create a field.

const [usernameProps, usernameMeta] = useField({
  name: 'username',
  initialValue: '',
  validate: useCallback(({ value }) => {
    if (!value) {
      throw Error('Username is required!');
    }
  }, []),
});

return (
  <>
    <input type="text" {...usernameProps} />
    <span>{usernameMeta.error}</span>
  </>
);

Additional info

Once you're all set up, be sure to check out the guides for a deeper dive!

Additional resources

For more info, tutorials and examples, visit the official docs site!

Also check out:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].