Platform.OS
为了提高代码的兼容性,我们有时需要判断当前系统的平台,然后做一些适配。比如,我们在使用 StatusBar 做导航栏的时候,在 iOS 平台下根视图的位置默认情况下是占据状态栏的位置的,我们通常希望状态栏下面能显示一个导航栏,所以我们需要为 StatusBar 的外部容器设置一个高度
;
留意api doc的android或ios标识
并不是所有 react Native 的一些 api 或组件的一些属性和方法都兼容 Android 和 iOS ,在react Native 的 api doc 中通常会在一些属性或方法的前面加上 android 或 ios 的字样来标识该属性或方法所支持的平台,如
android renderToHardwareTextureAndroid bool
ios shouldRasterizeIOS bool
在上述代码中, renderToHardwareTextureAndroid bool 只支持 Android 平台, ios shouldRasterizeIOS bool 只支持 iOS 平台,所有我们在使用这些带有标记的属性或方法的时候就需要考虑对于它们不兼容的平台我们是否需要做相应的适配了
组件选择
比如,我们要开发一款应用需要用到导航组件, 在React Native 组件中有 NavigatorIOS 与 Navigator 两个导航组件来供我们选择,从 api doc 中我们可以看出 NavigatorIOS 只支持 iOS平台, Navigator 则两个平台都支持。
所以如果我们要开发的应用需要适配 Android 和 iOS ,那么 Navigator 才是最佳的选择。
为了提高代码的复用性与兼容性建议大