为了账号安全,请及时绑定邮箱和手机立即绑定

如何从嵌套函数中获取 Geolocation API 坐标并进入 React 状态?

如何从嵌套函数中获取 Geolocation API 坐标并进入 React 状态?

潇湘沐 2021-12-12 15:26:08
当用户单击按钮时,我正在尝试使用Geolocation API获取用户的位置:<button onClick={this.setNewLatLong()}>"Use my location"</button>;我可以使用以下代码访问纬度/经度坐标:setNewLatLong = () => {  navigator.geolocation.getCurrentPosition(displayLocationInfo);  function displayLocationInfo(position) {      const longitude = position.coords.longitude;      const latitude = position.coords.latitude;      console.log(`long: ${longitude} | lat: ${latitude}`);  }}但是我无法将数据放入我的状态,因为latitude和longitude变量嵌套在函数中。我怎样才能把这些数据放到我的状态?
查看完整描述

2 回答

?
Helenr

TA贡献1780条经验 获得超4个赞

React 中的每个组件状态更新都应该使用setState(). 对于您的情况,您可以setState()在传入的回调函数中使用getCurrentPosition()。


navigator.geolocation.getCurrentPosition(position => {

    this.setState({

        lat: position.coords.latitude,

        lng: position.coords.longitude

    });

})

我还建议您考虑使用React 挂钩进行状态(在您完成 React 的基础知识学习之后)


查看完整回答
反对 回复 2021-12-12
?
拉丁的传说

TA贡献1789条经验 获得超8个赞

在 React 中,您持有组件状态中的信息。您可以像这样设置状态:


this.setState({

  lon: longitude,

  lat: latitude

})

并从您的视图(渲染函数)或您可能需要的任何其他地方访问状态。


查看完整回答
反对 回复 2021-12-12
  • 2 回答
  • 0 关注
  • 197 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号