【发布时间】:2015-12-10 12:17:40
【问题描述】:
我正在使用 Geolocation API 和 ReactJS 做一些事情,并且我将位置存储为状态变量,因为组件会随着网页的移动或用户随机更改位置而更改位置。
所以组件看起来像这样:
var GeoComp = React.createClass({
setPosition: function(position){
var lat = position.coords.latitude;
var longitude = position.coords.longitude;
this.setState({longitude: {longitude}, latitude: {lat}});
this.setState({statusText: 'Successfully found you at ' + this.state.longitude + ',' + this.state.latitude});
},
getInitialState: function(){
return {longitude: 0, latitude: 0, placeName: '', statusText: 'Locating you....'};
},
componentDidMount: function(){
if (!navigator.geolocation){
this.setState({statusText: 'Your browser does not support geolocation...'});
}
else{
navigator.geolocation.getCurrentPosition(this.setPosition, this.errorPosition);
}
}
......
但我遇到的问题是从经度和纬度变量中提取双精度。 React 将它们存储为对象。我怎样才能实际存储双打并将它们传递给子组件?
【问题讨论】:
-
更具体地说,当我执行诸如 console.log(this.state.latitude) 之类的操作时,我得到 [object Object] 但不是双精度数,这就是我想要做的。它是键/值或键/ID,我无法获得实际的双精度。
-
没关系,我在设置初始状态时做了一些脑残的事情。这比我最初想象的要简单得多。
标签: api object reactjs geolocation double