Questions And Answers

More Tutorials

React Forms and User Input

Controlled Components

Controlled form components are defined with a value property. The value of controlled inputs is managed by React, user inputs will not have any direct influence on the rendered input. Instead, a change to the value property needs to reflect this change.

class Form extends React.Component {
 constructor(props) {

 this.onChange = this.onChange.bind(this);

 this.state = {
 name: ''
 onChange(e) {
 render() {
 return (
 <label for='name-input'>Name: </label>
 value={} />

The above example demonstrates how the value property defines the current value of the input and the onChange event handler updates the component's state with the user's input.

Form inputs should be defined as controlled components where possible. This ensures that the component state and the input value is in sync at all times, even if the value is changed by a trigger other than a user input.


In this page (written and validated by ) you learned about React Forms and User Input . What's Next? If you are interested in completing React tutorial, your next topic will be learning about: React Uncontrolled Components.

Incorrect info or code snippet? We take very seriously the accuracy of the information provided on our website. We also make sure to test all snippets and examples provided for each section. If you find any incorrect information, please send us an email about the issue:

Share On:

Mockstacks was launched to help beginners learn programming languages; the site is optimized with no Ads as, Ads might slow down the performance. We also don't track any personal information; we also don't collect any kind of data unless the user provided us a corrected information. Almost all examples have been tested. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. By using, you agree to have read and accepted our terms of use, cookies and privacy policy.