React-Native实际开发过程中的一些注意点

发布时间:2019-08-19 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了React-Native实际开发过程中的一些注意点脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
  • 1、ES6语法不兼容for of语法,会产生一些不可预知的bug。
  • 2、从服务器获取到的配置文件XXX.bytes,直接根据pb文件解析即可,千万不要进行json解析,否则pb里的枚举值就会被转成字符串,导致获取不到预想的结果。
  • 3、做本地缓存的时候,react-native提供的AsyncStoreage只能存储字符串,所以存入缓存之前数据都要进行json序列化,但是当从缓存中取出数据,进行json解析,加入缓存之前的对象的一些默认(例如:boolean类型)值,都变成undefined了,会影响原有的判断逻辑,需要对数据进行逻辑判断的补充。
  • 4、在开发中肯定会遇到需要获取时间戳的问题,React-native中获取的时间戳是毫秒为单位,而且后面还有几位小数,打印了几条数据观察,发现都是1位小数,毫秒到的秒的转换,需要再除以1000,于是就按4位小数进行截取,let timeStamp = timeStamp.substring(0, timeStamp.length - 4);,但是在后来的程序运行中同事发现,有的时候,后面会有没有小数的情况,结果截取到的时间戳就少了一位,结果就出错了。于是他把获取时间戳的代码修改如:let timeStamp = Math.floor(new Date().getTime() / 1000).toString();,这样获取到的就是时间戳的整数部分了,且是用秒为单位的。
  • 5、react-native中的text组件,如果不设置度的话,默认是父组件的宽度,显示不下才会进行换行,开发中遇到遇到两种情况:一个image & text 采用横向布局,如果不设置text的宽度的话,超过父组件的宽度,右侧的文本会有丢失的情况;一个text & image 采用横向布局,如果不设置text的宽度的话,text会默认占用父组件的全部宽度,结果右侧的image被挤到了父组件之外。
  • 6、数据埋点遇到的坑点:由于服务器和客户端不在同一个时区,服务器接收到打点数据,因为时间差原因,对客户端上报的一条数据进行了多次入库,导致数据量异常。经过商量,服务器对接收到的数据进行去重,且后续时间以服务器时间为准。
  • 7、AsyncStoreage的数据存储速度有待怀疑。在性能调优的时候发现,一些方法的执行,快的是1毫秒,大部分的发放执行在40毫秒左右,到了账号信息存储的时候,就执行了一个AsyncStorage.multiSet方法,其中是5条数据,耗时一下就变成了800毫秒左右。截图如下:

React-Native实际开发过程中的一些注意点


上面这个方法的执行耗时是783毫秒,所以对于这里的信息存储,还是有很大的提升空间的。
AsyncStoreage给我们在开发中提供了一些数据存储的便利,但是只适合于存储少量数据,且对耗时感知不是很强的场景,对于登录和注册这种关键性步骤,AsyncStoreage的性能还有有欠缺的。

脚本宝典总结

以上是脚本宝典为你收集整理的React-Native实际开发过程中的一些注意点全部内容,希望文章能够帮你解决React-Native实际开发过程中的一些注意点所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。