We are your Digital Ally™
Personal Experience with Ant Forms
tech

Personal Experience with Ant Forms

A candid look at Ant Design's form library for React — what it does well, where it falls short, and whether you should reach for Formik or React Hook Form instead.

Juraj MatusMay 1, 2021

Ant Design provides a comprehensive form solution for React applications. After using it in production, here is an honest assessment of its strengths and the friction points you are likely to encounter.

What It Does Well

The library automatically manages form state and validation just by using its components in a recommended way — no manual wiring is required. It provides solid customization options, a programmatic API, and integrates seamlessly with Ant Design's own input components.

Ant Form basic usage example

Difficult to Watch Whole Form Changes

Most form solutions provide either a reactive values object that re-renders the component on change, or a convenient watch function. Ant Form's approach is more limited:

  • Watch functionality only works inside Form.Item render functions, which means you cannot call hooks inside them
  • You cannot specify which fields trigger re-renders, leading to potential performance issues
  • Programmatic value changes (via form.setFieldsValue) bypass external monitoring mechanisms

Form state observation limitation

Concept of Field Registration

Ant Form works in such a way that it registers fields on mount, and only then are they considered part of the form. This creates a subtle trap:

Conditionally rendered fields or fields inside modals/popups won't register unless they have already been mounted at least once. The workaround is to render all possible fields initially with the noStyle prop set to true — but this is easy to forget and leads to confusing bugs.

No Field Value Decorators (Format / Parse)

The library provides a normalize prop for transforming values on input, but lacks the corresponding inverse function for going from stored value back to display value. This creates challenges when converting between display and storage representations, particularly for non-string values like numbers or dates.

Workarounds typically involve wrapper components, which adds boilerplate.

Field value decorator workaround

Other Small Issues

  • No silent validation — you cannot validate the form without displaying error messages to the user
  • Form.List deletion sets values to undefined temporarily, requiring preprocessing before submission
  • Limited customization inside render functions

Additional ant form limitations

Conclusion

Ant Forms is feature-rich and handles the vast majority of standard form requirements well. However, you may occasionally find yourself fighting the library's design patterns. For future projects, alternatives like Formik or React Hook Form are worth considering — especially for complex forms where fine-grained control over state and validation is needed.

© 2026