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

在设置完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吗?


setState的第二个参数,一个回调函数,react会在setState结束时调用。
多看看官方文档:https://facebook.github.io/react/docs/component-api.html

【热门文章】
【热门文章】