在设置完state之后,立即调用state,不能即时刷新state,有什么解决方法让我立刻获取到state吗?

先初始化state.

constructor(){
    super()
    this.state={
      startX:"",
      startY:"",
      endX:"",
      endY:""
    }
  }

下面是一段移动端获取pageX的代码,把pageX传到state里面去,方面计算X轴的偏移量。

touchStart(ev){
    this.setState({
      startX:ev.touches[0].pageX,
      startY:ev.touches[0].pageY
    })
    console.log(ev.touches[0].pageX,this.state.startX)
  }

但是我测试的时候,打印出来的信息让我很是蛋痛。
301 ""
314 ""
294 ""
290 301
259 314
249 294
232 290

可以看出state慢了三个事件。请问有什么解决方法可以让我立刻正确的获取到state吗?

阅读 6.5k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题