确保函数在setState之后运行

时间:2019-04-08 22:44:00

标签: reactjs

我知道SetState接受我正在使用的回调。但是由于某种原因,它在状态更新后没有运行。我在做错什么吗?

  handleInputChange = (event) => {
        this.setState({
          [name]: event.target.value
        });
          if(event.target.value.length > 1) {
          this.getSuggestions();
          this.setState({
          query: event.target.value,
        }, () => this.getCoordinates)
      }

getCoordinates = () =>{
    const geocoder = new google.maps.Geocoder();
    geocoder.geocode( {"address":this.state.query}, this.onSuccessGetAddress)
  }

1 个答案:

答案 0 :(得分:5)

您提供了一个返回函数this.getCoordinates的回调:

() => this.getCoordinates

您要提供一个调用this.getCoordinates的回调:

() => this.getCoordinates()

this.getCoordinates