How to disable a button when input is empty in React
In this tutorial, we are going to learn about how to disable the button when an input field is empty in React.
Consider we have an input field, <button>
element in our react component and we need to disable the button
dynamically if an input field is empty, it means the user has not entered any data yet.
import React,{Component} from 'react';
class App extends Component {
state = {
email:""
};
handleChange = (e)=>{
this.setState({
email:e.target.value
})
}
render() {
return (
<div>
<input value={this.state.email} onChange={this.handleChange} />
<button>Submit</button>
</div>
);
}
}
Disabling the button
To disable the button we need to add a disabled
attribute to the <button>
element with a boolean value.
- if a boolean value is true button is disabled.
- if a boolean value is false button is enabled.
import React,{Component} from 'react';
class App extends Component {
state = {
email:""
};
handleChange = (e)=>{
this.setState({
email:e.target.value
})
}
render() {
return (
<div>
<input value={this.state.email} onChange={this.handleChange} />
<button disabled={this.state.email.length<1}>Submit</button> </div>
);
}
}
In the above code, we have passed a value this.state.email.length<1
to disabled
attribute. it means disable the button if an input
length is less than 1, otherwise enable it.