When should I use a controlled component?
For almost everything: forms that need validation, inputs that affect other UI, search boxes that filter live, and any case where you need the value as the user types. Controlled keeps React as the single source of truth.
Verify This Answer
Cross-check this information using these trusted sources:
More FAQs in Controlled vs Uncontrolled Components in React: When to Use Each
A controlled input has its value driven by React state, so React is the single source of truth. An uncontrolled input manages its own state in the DOM, and you read its value with a ref when needed.
For simple one-time reads, like a single submit form where you only need the value on submit, or for integrating with non-React code that needs direct DOM access. Uncontrolled is simpler and less code for these cases.
Because you set a value without an onChange handler. If you set value, you must handle onChange to make it controlled. If you want an uncontrolled input, use defaultValue instead of value.
Still have questions?
Browse all our FAQs or reach out to our support team
