React Native开发经验集React Native开发React Native学习

React-Native开发中的坑点实录

2018-09-15  本文已影响30人  无神

从移动开发的角度来说,iOS和Android都有自己的一些UI特性,所以react-native宣称的写一套代码就可以通用就是骗人的鬼话,实际开发中,你会发现很多控件在iOS和Android上展示的效果不一样,或者有些属性支持iOS不支持Android。react-native早期是只支持iOS的,后来才支持的Android,所以直到现在react-native对iOS平台的支持还是比Android平台要友好。

UI方面

方法支持的差异

实际开发的过程中,会发现有一些方法,针对iOS有效果,Android平台上,运行结果却不一样,这种情况下,要么再找一个两端都支持的,要么就是针对不同的平台用不同的方法。

redux框架的坑

redux框架采用状态判断的形式进行业务逻辑的处理。实际开发的工程中,一定要保证业务逻辑判断的状态不能有相同的情况,否则很出现一些灵异的bug。我在开发登录&注册流程时,当时因为是不同的页面,用的状态的判断是一样的(注册时的输入验证码和忘记密码时的输入验证码,跳转逻辑一样)。由于redux的AppState状态是全局的,而且注册到忘记这条线,走的是push页面的方式。忘记密码的时候,出现了push两次输入密码框页面的情况,找了好久,通过打印页面的跳转方式,才从这个坑,从里面爬出来。

这个bug出现的原因是对redux这种全局状态机制不了解,没有把已经入栈页面的状态判断方法屏蔽掉,导致后面走忘记密码的时候,注册页面的跳转密码框的状态满足的情况下,也进行了跳转。

总结

使用react-native进行开发,你一定要做好随时遇到坑的准备,时刻准备着去填坑。react-native开发的路很漫长,过了这山还有那山。

上一篇下一篇

猜你喜欢

热点阅读