Type something to search...

Blog

Client-Side Form Validation Patterns in React

Client-Side Form Validation Patterns in React

Most form bugs aren't about sending data. They're about telling the user what's wrong at the right time. Show an error the moment someone types the f

Continue Reading
Handling File Uploads in React with Drag and Drop

Handling File Uploads in React with Drag and Drop

A plain file input works, but it is not a great experience. Users expect to drag files from their desktop onto the page, see thumbnails before anythi

Continue Reading
Formik vs React Hook Form: A Side-by-Side Comparison

Formik vs React Hook Form: A Side-by-Side Comparison

For years, Formik was the default answer to "how do I build forms in React?" It took the tedious parts of controlled forms, like tracking values, tou

Continue Reading
Building Accessible Forms with React Hook Form and Zod

Building Accessible Forms with React Hook Form and Zod

A form can look polished and still be unusable for a large group of people. A screen reader user tabs into an input and hears "edit text" with no ide

Continue Reading
Controlled vs Uncontrolled Components in React Forms

Controlled vs Uncontrolled Components in React Forms

Every form input in React has a value, and something has to own it. Either React holds the value in state and pushes it into the input on every rende

Continue Reading
Derived State in React: Common Mistakes and Better Patterns

Derived State in React: Common Mistakes and Better Patterns

A surprising number of React bugs come from the same root cause: storing a value in state that could have been calculated from other values. A filter

Continue Reading