React Advanced Form
  • Introduction
  • General
    • Comparison
      • Compared to Formik
      • Compared to Final form
    • Migration guides
      • 1.4.x → 1.5.x
    • FAQ
  • Getting started
    • Installation
    • Creating fields
    • Creating form
    • Validation rules
    • Validation messages
    • Applying validation
    • Handle submit
  • Architecture
    • Argument properties
    • Referencing
    • Field lifecycle
    • Controlled fields
    • Reactive props
  • Validation
    • Getting started
    • Validation schema
      • Rule definition
      • Reactive rule
    • Validation messages
  • High-order components
    • createField
      • Options
      • Field presets
      • Exposed props
  • Components
    • FormProvider
    • Form
      • Props
        • innerRef
        • initialValues
        • action
        • rules
        • messages
      • Methods
        • setValues()
        • setErrors()
        • reset()
        • validate()
        • serialize()
        • submit()
      • Callbacks
        • onFirstChange
        • onReset
        • onInvalid
        • onSerialize
        • onSubmitStart
        • onSubmitted
        • onSubmitFailed
        • onSubmitEnd
    • Field.Group
    • Field
      • Props
        • rule
        • asyncRule
        • skip
      • Callbacks
        • onFocus
        • onChange
        • onBlur
  • Recipes
    • Generating a form
    • Utilizing functions
  • Developers
    • Contributing
Powered by GitBook
On this page
  • Overview
  • Bundle size
  • Examples
  1. General

Comparison

Why in the world do we need another form library? — A voice in the crowd.

Anything new emerges from the discontent with the present. The motivation for creating React Advanced Form is to challenge the expectations of a developer of what a form solution must do. We felt there are a lot of essentials missing in popular form solutions, and thus we have decided to implement our own.

Overview

React Advanced Form

Another solution

Focus

Field-centric. Treats any form as a composition of fields.

Form is usually a central point of implementation.

Motivation

Focuses on complex use cases, and has more responsibility in favor of maintainable code.

Focuses on simple use cases in favor of being smaller.

Validation

Includes smart multi-layer validation. Extendable, composable, pluggable with any third-party validation library.

Doesn't include any validation algorithms. Delegates the logic to a developer.

Size

Bigger. Close to no extra code for a scenario of any complexity.

Smaller. Requires extra code for any deviating use case.

Bundle size

We are transparent about the cost of adding a new dependency to your application. Regardless of possible optimizations, React Advanced Form will most likely remain bigger than any other form solution out there.

Choosing a package is a question of balance between its size and the features you get. A smaller library that requires to write more code to cover basic scenarios has much bigger effect on the size of your application than a heavier one that results into less code on your side.

Please see the minified bundle size comparison with popular form solutions below.

Package name

Bundle size (minified)

react-advanced-form

redux-form

formik

final-form

Examples

There are three incrementally complex scenarios implemented using different form solutions to give you an overview of what to expect from React Advanced Form.

PreviousIntroductionNextCompared to Formik

Last updated 6 years ago

Compared to Formik
Compared to Final form