2017-05-26 1 views
1

おかげでネイティブに反応して、私はネイティブの反応で初心者ですcomponentDidMountのfuctionの外にネイティブアクセス変数を反応させます。は私がgetCurrentPosition機能のうち、currentPostionにアクセスする必要が事前</p> <p>で

コード:

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

currentPositionは、最初は定義されておらず、その内部のコンポーネントがマウントされているため、後で更新されます。値が更新されるまで待ってからアクセスしなければなりません。 Uは状態が更新されるまで待機するためにローディングシンボルを使用することができ、undefinedが値にアクセスできない場合は一度使用できます。

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

アクティビティインジケータ

をインポートするために忘れないでください
関連する問題