rn本身自带的模块Geolocation
,可以获取当前地理位置信息,调用getCurrentPosition方法就可以了,这是一个异步方法
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;
如果需要计算两个位置之间的距离
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事件如何阻止冒泡的,查遍文章,没有找到相关资料。
后来才发现,有一个办法可以阻止冒泡,那就是在父组件和子组件的中间插入一个Touchable*
这样子的组件,这个组件不要绑定事件,这样的话内部的事件是不会冒泡到顶部的
熟悉做web富客户端,都会需要处理这个权限验证的逻辑。比如判断用户有没有登录,然后做相应的操作或者页面跳转。
react-native 也是一样的,做法也没有什么区别。
我的做法比较简单粗暴
一般会封装一个公共的ajax模块,在所有请求之中判断用户有没有过期,过期做相应处理,没有过期则正常响应。正常使用起来,其实是可以使用的,但是也存在一些问题