为了账号安全,请及时绑定邮箱和手机立即绑定

react目前遇到个问题

react目前遇到个问题

温温酱 2019-02-21 22:19:06
代码结构如下:大致功能是,我开始有一个数字A从0递增,当A等于B时清除定时器,但现在,我的B的值要从接口里获取到,然后就当A===B这条就不成立了,虽然B已经改变了。
查看完整描述

2 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

A===B这条就不成立了,虽然B已经改变了

A===B这条为什么不成立呢?是因为你网络请求太慢了?然后A早已超过这个值了?


查看完整回答
反对 回复 2019-02-25
?
萧十郎

TA贡献1815条经验 获得超13个赞

首先你三元运算符如果没有else可以用 与&& 操作。

同步更新state可以放在setState回调里


tick() {

  const self = this; 

  this.setState((prevState) => ({

    A: prevState.A + 2

  },

    () => {

      if (self.state.A === self.state.B) {

        clearInterval(self.interval);

      }

    }));

  console.log(this.state.B);

}


查看完整回答
反对 回复 2019-02-25
  • 2 回答
  • 0 关注
  • 487 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号