我有一个计时器,计时器的值取决于所单击按钮的值。我将setState放在componentDidUpdate上,以便每当更新状态值时,状态值就会减少1。我为timerValue有3个按钮。
String sess = "workid_token=" + AppHelper.getCurrSession().getIdToken().getJWTToken() + ";base_token=" + AppHelper.getCurrSession().getRefreshToken().getToken() + ";" + getsess + ";";
问题是我想重置状态值取决于我单击的按钮,例如,当计时器变为0时我单击了5,我希望它返回到状态的前一个值,即5。
这是我的代码
1st button value is 5, 2nd button value is 10, 3rd button value is 15
timerValue取决于我单击的按钮。
这是condition和setState的代码
this.state = {
timerValue: 0,
}
我想发生的事情是重置timerValue的值,具体取决于它何时变为0时按钮的值。
预先感谢您的帮助。
答案 0 :(得分:3)
使用设置状态回调访问以前的状态。
this.setState(prevState => ({
timerValue: timerValue === 0 ? prevState.timerValue : timerValue
}))