iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 14
0
Modern Web

React Native 航向真全端,建構雙平台 App系列 第 14

React Native 跨平台設計(二) 方便的 Platform

  • 分享至 

  • xImage
  •  

上次有介紹到,我們可以用 .ios .android 的檔案名稱後輟來分辨我們是使用 android 還是 ios 的 Component,但是除了這個方法法外,我們偶爾也會因為不同的平台而有一點點小差異,這個時候如果還切一個檔案來負責這個小地方,反而會讓維護的時候非常麻煩,所以 React Native 有提供一個 Platform 它可以拿來辨別這是什麼平台,甚至是版號。

使用範例:

import { Platform } from 'react-native';

const styles = StyleSheet.create({
  height: (Platform.OS === 'ios') ? 200 : 100,
});

我們可以從這個簡單的範例看到 Platform.OS 可以得知目前在運行 app 的是 android 還是 ios 根據這個特性我們就可以來變換他的 style,除了這種簡單的用法我們還能使用 Platform.select

const styles = StyleSheet.create({
  container: {
    flex: 1,
    ...Platform.select({
      ios: {
        backgroundColor: 'red',
      },
      android: {
        backgroundColor: 'blue',
      },
    }),
  },
});

除了 Platform.selectPlatform.OS 我們還可以用 Platform.Version 來判端運行的裝置版號
因為偶爾會發生某些版本的 Android 不支援某修功能等等的小地雷,就能用這方式來修復

if(Platform.Version === 21){
  console.log('Running on Lollipop!');
}

有問題歡迎來 React Native Taiwan 問喔
創科資訊


上一篇
React Native 跨平台設計(一) 使用 .ios .android
下一篇
React Native 如何使用人家寫好的元件
系列文
React Native 航向真全端,建構雙平台 App30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言