本文へスキップ

Platform


リファレンス

プロパティ

constants

static constants: PlatformConstants;

プラットフォームに関連するすべての一般的な定数と特定の定数を含むオブジェクトを返します。

プロパティ

名前
オプション説明
isTestingbooleanいいえ
reactNativeVersionobjectいいえReact Nativeのバージョンに関する情報。キーはmajorminorpatchで、オプションのprereleaseがあり、値はnumberです。
バージョン
Android
numberいいえAndroid固有のOSバージョン定数。
リリース
Android
stringいいえ
シリアル
Android
stringいいえAndroidデバイスのハードウェアシリアル番号。
フィンガープリント
Android
stringいいえビルドを一意に識別する文字列。
モデル
Android
stringいいえAndroidデバイスのエンドユーザーに見える名前。
ブランド
Android
stringいいえ製品/ハードウェアが関連付けられる消費者に見えるブランド。
製造元
Android
stringいいえAndroidデバイスの製造元。
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固有のOSバージョン定数。
systemName
iOS
stringいいえiOS固有のOS名定数。

isPad
iOS

static isPad: boolean;

デバイスがiPadかどうかを定義するブール値を返します。

boolean

isTV

static isTV: boolean;

デバイスがテレビかどうかを定義するブール値を返します。

boolean

isVision

static isVision: boolean;

デバイスがApple Visionかどうかを定義するブール値を返します。Apple Vision Pro (iPad向け設計)を使用している場合、isVisionfalseになりますが、isPadtrueになります

boolean

isTesting

static isTesting: boolean;

テストフラグが設定された開発者モードでアプリケーションが実行されているかどうかを定義するブール値を返します。

boolean

OS

static OS: 'android' | 'ios';

現在のOSを表す文字列値を返します。

enum('android', 'ios')

Version

static Version: 'number' | 'string';

OSのバージョンを返します。

number
Android

string
iOS

メソッド

select()

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

現在実行しているプラットフォームに最適な値を返します。

パラメータ

名前必須説明
configobjectはい下記のconfigの説明を参照してください。

selectメソッドは、現在実行しているプラットフォームに最適な値を返します。つまり、スマートフォンで実行している場合、androidiosキーが優先されます。それらが指定されていない場合、nativeキーが使用され、次にdefaultキーが使用されます。

configパラメータは、次のキーを持つオブジェクトです。

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

使用例

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メソッドを使用して、以下のようにプラットフォーム固有のコンポーネントを返すこともできます。

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

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

<Component />;