Я создал метод operatorHandler в react. js. Он обновляет состояние с помощью свойства setState.
```
operatorHandler=()=>{
const index1 = units.indexOf(this.state.opt1);
const index2 = units.indexOf(this.state.opt2);
if(index1>index2){
this.setState({operator:'/'});
}else if(index1<index2){
this.setState({operator: '*'})
}
}```
Я создал метод calculateHandler и вызвал operatorHandler с помощью this.method.
``` calculateHandler = ()=>{
this.operatorHandler()
let result;
if(this.state.operator ==='*'){
result = parseInt(this.state.input,10) * (multiplyingFactor[this.state.opt2])/(multiplyingFactor[this.state.opt1]);
return this.setState({result: result});
}else if(this.state.operator ==='/'){
result = parseInt(this.state.input,10) / (multiplyingFactor[this.state.opt1]/multiplyingFactor[this.state.opt2]);
return this.setState({result: result});
}
}```
Есть компонент кнопки, который получает свойства в качестве метода calculateHandler ().
<Button clicked = {()=>{this.calculateHandler()}}>Calculate</Button>
Чтобы обновить состояние, мне нужно дважды нажать кнопку. Состояние не обновляется с первой попытки;