亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從嵌套函數中獲取 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 關注
  • 178 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號