Я успешно реализовал приложение инкремента, которое показывает число с + и - на каждой стороне. При нажатии любого из них число увеличивается или уменьшается соответственно. Но потому что, если операторы работают по-другому в jsx, у меня возникают проблемы с установкой ограничений для числа, например, не опускаясь ниже нуля.
Я пытался вставить операторы if, но они не работают. Как я могу сделать это, например, чтобы при нажатии + или -, когда число достигает определенного минимального или максимального значения, оно не изменяется?
class App extends Component {
constructor () {
super()
this.state = {
num: 1
}
this.addNum = this.addNum.bind(this)
this.minusNum = this.minusNum.bind(this)
}
addNum() {
this.setState({
num: this.state.num +1
}, function() {
console.log('number of issues is ' + this.state.num)
})
}
minusNum() {
this.setState({
num: this.state.num - 1
}, function() {
})
}
`
render() {
return (
<div>
<body>
<div className="incrementer">
<div>
<h2 className="minus" onClick={this.minusNum}>-</h2>
</div>
<div>
<h2 className="number">{this.state.num}</h2>
</div>
<div>
<h2 className="plus" onClick={this.addNum}>+</h2>
</div>
</div>
</body>
</div>
);
}
}
export default App;