在设置完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 个回答
推荐问题