从移动开发的角度来讲,iOS和Android都有本身的一些UI特性,因此react-native宣称的写一套代码就能够通用就是骗人的鬼话,实际开发中,你会发现不少控件在iOS和Android上展现的效果不同,或者有些属性支持iOS不支持Android。react-native早期是只支持iOS的,后来才支持的Android,因此直到如今react-native对iOS平台的支持仍是比Android平台要友好。react
underlineColorAndroid='transparent'
属性,去掉Android系统下默认的线。实际开发的过程当中,会发现有一些方法,针对iOS有效果,Android平台上,运行结果却不同,这种状况下,要么再找一个两端都支持的,要么就是针对不一样的平台用不一样的方法。android
startWith()
判断字符串的前缀的,实际开发中的,发如今iOS平台运行结果正确,Android运算结果不正确,打印数据,发现数据是正确的。因而就发现了startWith()
对于android的http连接判断不起做用,改用indexOf()
这个包含字符串的方法后,两端的运行结果都正确了。redux框架采用状态判断的形式进行业务逻辑的处理。实际开发的工程中,必定要保证业务逻辑判断的状态不能有相同的状况,不然很出现一些灵异的bug。我在开发登陆&注册流程时,当时由于是不一样的页面,用的状态的判断是同样的(注册时的输入验证码和忘记密码时的输入验证码,跳转逻辑同样)。因为redux的AppState状态是全局的,并且注册到忘记这条线,走的是push页面的方式。忘记密码的时候,出现了push两次输入密码框页面的状况,找了很久,经过打印页面的跳转方式,才从这个坑,从里面爬出来。正则表达式
这个bug出现的缘由是对redux这种全局状态机制不了解,没有把已经入栈页面的状态判断方法屏蔽掉,致使后面走忘记密码的时候,注册页面的跳转密码框的状态知足的状况下,也进行了跳转。redux
使用react-native进行开发,你必定要作好随时遇到坑的准备,时刻准备着去填坑。react-native开发的路很漫长,过了这山还有那山。react-native