跳到主要內容

Platform

範例


參考

屬性

constants

tsx
static constants: PlatformConstants;

回傳一個物件,其中包含所有可用的通用和特定於平台的常數。

屬性

名稱
類型選填描述
isTestingboolean
reactNativeVersionobject關於 React Native 版本的資訊。鍵為 majorminorpatch,可選的 prerelease,值為 number
版本
Android
number特定於 Android 的作業系統版本常數。
Release
Android
string
Serial
Android
stringAndroid 裝置的硬體序號。
Fingerprint
Android
string唯一識別建置版本的字串。
Model
Android
stringAndroid 裝置的最終使用者可見名稱。
Brand
Android
string產品/硬體將關聯的消費者可見品牌。
Manufacturer
Android
stringAndroid 裝置的製造商。
ServerHost
Android
string
uiMode
Android
string可能的值為:'car''desk''normal''tv''watch''unknown'。 閱讀更多關於 Android ModeType 的資訊。
forceTouchAvailable
iOS
boolean指示裝置上 3D Touch 的可用性。
interfaceIdiom
iOS
string裝置的介面類型。 閱讀更多關於 UIUserInterfaceIdiom 的資訊。
osVersion
iOS
string特定於 iOS 的作業系統版本常數。
systemName
iOS
string特定於 iOS 的作業系統名稱常數。

isPad
iOS

tsx
static isPad: boolean;

回傳一個布林值,定義裝置是否為 iPad。

類型
boolean

isTV

tsx
static isTV: boolean;

回傳一個布林值,定義裝置是否為電視。

類型
boolean

isVision

tsx
static isVision: boolean;

回傳一個布林值,定義裝置是否為 Apple Vision。如果您使用 Apple Vision Pro (Designed for iPad)isVision 將為 false,但 isPad 將為 true

類型
boolean

isTesting

tsx
static isTesting: boolean;

回傳一個布林值,定義應用程式是否在設定測試標誌的開發者模式下執行。

類型
boolean

OS

tsx
static OS: 'android' | 'ios';

回傳代表目前作業系統的字串值。

類型
enum('android', 'ios')

Version

tsx
static Version: 'number' | 'string';

回傳作業系統的版本。

類型
number
Android

string
iOS

方法

select()

tsx
static select(config: Record<string, T>): T;

針對您目前執行的平台,回傳最合適的值。

參數:

名稱類型必填描述
configobject請參閱下方的 config 描述。

Select 方法針對您目前執行的平台,回傳最合適的值。也就是說,如果您在手機上執行,androidios 鍵將優先。如果未指定這些鍵,則將使用 native 鍵,然後是 default 鍵。

config 參數是一個物件,包含以下鍵

  • android (任何)
  • ios (任何)
  • native (任何)
  • default (任何)

使用範例

tsx
import {Platform, StyleSheet} from 'react-native';

const styles = StyleSheet.create({
container: {
flex: 1,
...Platform.select({
android: {
backgroundColor: 'green',
},
ios: {
backgroundColor: 'red',
},
default: {
// other platforms, web for example
backgroundColor: 'blue',
},
}),
},
});

這將使容器在所有平台上都具有 flex: 1,在 Android 上具有綠色背景顏色,在 iOS 上具有紅色背景顏色,在其他平台上具有藍色背景顏色。

由於相應平台鍵的值可以是 any 類型,因此 select 方法也可用於回傳特定於平台的組件,如下所示

tsx
const Component = Platform.select({
ios: () => require('ComponentIOS'),
android: () => require('ComponentAndroid'),
})();

<Component />;
tsx
const Component = Platform.select({
native: () => require('ComponentForNative'),
default: () => require('ComponentForWeb'),
})();

<Component />;