Skip to main content

Introduction

Seeing the growing demand for stable, quick, scalable, and reusable form solutions we decided to try our best to build our own Form system, based on our reusable components from the design system.

We have tried several well-known solutions such as formik, react-hook-form or 'react-jsonschema-form' but none of them was good enough to support our ready-made components which are unified for the next phases of Mercell platform.

To prevent problems like reinventing the wheel or code redundancy/solution redundancy we were seeking a solution that will help us wrap all form interactions and communications and would leave the design part open for us.

Fortunately React Final Form is all we need!

React Final Form

The heart of our solution is based on React final form library. It is a high-performance, subscription-based form state solution to wrap all necessary interactions and communications within the abstract concepts of Form and Fields.

Due to the abstract Fields concept, we can easily set up our internal components from the Design system so React Final Form would be able to utilize them inside the subscription model.

We strongly encourage you to check React Final Form documentation, since our solution would be open for any fancy additions such as decorators or mutators which are a part of this library too.