在componentDidMount函数

时间:2017-05-26 09:21:33

标签: react-native

提前致谢

我需要在反应原生的getCurrentPosition函数中访问currentPostion,而且我是反应原生的初学者。

代码:

constructor(props) {
  super(props)
  this.state = {
    coords: [],
    currentPostion: ""
  }
}

componentDidMount() {
  navigator.geolocation.getCurrentPosition(
    (position) => {
      var initialPosition = JSON.stringify(position);
      this.setState({'currentPostion':initialPosition});
    },
    (error) => alert(error.message),
    {enableHighAccuracy: true, timeout: 20000, maximumAge: 1000}
  );
  alert(JSON.stringify(this.state)); 
}

帮助我!!!

1 个答案:

答案 0 :(得分:1)

currentPosition最初将是未定义的,因为它的内部componentDidmount ..它将在稍后阶段更新。您需要等到值更新然后访问它们。你可以使用加载符号来等待状态更新,一旦它不是undefined你可以访问这些值。

if(this.state.currentPosition === ""){ return( <ActivityIndicator /> ) } return ( <Component lat={this.state.currentPosition} /> );

不要忘记导入活动指标