如何仅在有条件的情况下设置状态?

How can I set a state only if there is a condition?

我在文本视图中有一个百分比在变化,但它不能超过 100%。我使用一个带有 setstate 的函数,我希望如果文本视图中的百分比超过 100%,它会以 100% 变化。 像这样:

onPressLearnMore= () => {
        this.setState({

rareperc1: (this.state.rareperc2*this.state.boxes),

rareperc:parseFloat(this.state.rareperc1).toFixed(4),

if(rareperc==100){

rareperc:100,

}
...
        });
  }

实际代码为:

onPressLearnMore= () => {

        this.setState({

                rareperc1: (this.state.rareperc2*this.state.boxes)

                rareperc:parseFloat(this.state.rareperc1).toFixed(4),

...
        });
  }

你可以这样做。

rareperc:this.state.rareperc1>100?100:parseFloat(this.state.rareperc1).toFixed(4)

我用这个解决了:

      onPressLearnMore= () => {
      var rarepervalue = (this.state.rareperc2*this.state.boxes)+ 
 (this.state.boxes*this.state.incremento1);
      if(rarepervalue>100) rarepervalue=100;
this.setState({
            percentages: percentuale,
            rareperc1: rarepervalue,
            rareperc:parseFloat(this.state.rareperc1).toFixed(4),