I have made 2 buttons one for increment and another for decrement. When I click on minus button it should not display negative values but in my case when I click on minus button (initially value zero ) it shows -1 and again on click it shows zero why is this happening when I click on minus button the value inside the input box should not get decremented below 0.
datepicker.js :
import React, { Component } from 'react';
import './datepicker.css';
class DatePicker extends Component {
constructor(props){
super(props);
this.state = {
counter:0
};
}
increment(){
this.setState({
counter: this.state.counter + 1
});
}
decrement(){
if(this.state.counter < 0){
this.setState({
counter:0
});
}else {
this.setState({
counter: this.state.counter - 1
});
}
}
render() {
return (
<div>
<div id="center">
<label for="name">Date</label>
<p></p>
<button type="button" className="btn btn-success" id="plus" onClick={this.increment.bind(this)}>+</button>
<input type="text" id="date" value={this.state.counter}/>
<button type="button" className="btn btn-danger" id="minus" onClick={this.decrement.bind(this)}>-</button>
</div>
</div>
);
}
}
export default DatePicker;
Screenshot :
In screnshot it shows -1 and now if I click it, it will show zero. I do not want to display negative values the lower bound must be 0 always.