rn自己自帶的模塊Geolocation
,能夠獲取當前地理位置信息,調用getCurrentPosition方法就能夠了,這是一個異步方法react
Geolocation.getCurrentPosition( location => {})
速度: location.coords.speed 經度: location.coords.longitude + 緯度: location.coords.latitude + 準確度: location.coords.accuracy + 行進方向: location.coords.heading + 海拔: location.coords.altitude + 海拔準確度: location.coords.altitudeAccuracy + 時間戳: location.timestamp;
若是須要計算兩個位置之間的距離git
export default function getDisance(lat1, lng1, lat2, lng2) { var radLat1 = toRad(lat1); var radLat2 = toRad(lat2); var deltaLat = radLat1 - radLat2; var deltaLng = toRad(lng1) - toRad(lng2); var dis = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(deltaLat / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(deltaLng / 2), 2))); var rdis = (dis * 6378137) / 1000; return rdis.toFixed(1); }
曾一度糾結於rn事件如何阻止冒泡的,查遍文章,沒有找到相關資料。web
後來才發現,有一個辦法能夠阻止冒泡,那就是在父組件和子組件的中間插入一個Touchable*
這樣子的組件,這個組件不要綁定事件,這樣的話內部的事件是不會冒泡到頂部的ajax
熟悉作web富客戶端,都會須要處理這個權限驗證的邏輯。好比判斷用戶有沒有登陸,而後作相應的操做或者頁面跳轉。後端
react-native 也是同樣的,作法也沒有什麼區別。react-native
個人作法比較簡單粗暴api
通常會封裝一個公共的ajax模塊,在全部請求之中判斷用戶有沒有過時,過時作相應處理,沒有過時則正常響應。正常使用起來,實際上是可使用的,可是也存在一些問題服務器
react-native的fetch自己是能夠保存cookie的,這就致使app用戶過時時間由服務器配置決定的。那若是app若是須要本身決定用戶的過時時長的話,這就須要額外的封裝,好比保存帳戶和密碼作自動登陸。cookie
一個頁面能夠有多個請求,不止一個。這些請求在頁面加載完成初期,就要去所有加載。
一、可是若是這時候用戶是過時的,請求多個接口是沒有必要的。
二、咱們可能的邏輯是在ajax返回未登陸的狀態以後,咱們可能已經跳轉到首頁或者登陸頁面去了。這時候其餘接口若是有不須要鑑權就返回的數據,再去執行邏輯的時候,有可能會引起一塊兒沒法預知的錯誤。而fetch api是不能abort的,app
解決辦法我覺着
一、能夠引入GraphQL,這種成本可能很高,由於先後端改動都比較大 二、對細緻的每一個調用操做作判斷,在頁面卸載的時候終止這些方法