メインコンテンツへスキップ

Platform

使用例


リファレンス

プロパティ

constants

tsx
static constants: PlatformConstants;

プラットフォームに関連する利用可能なすべての共通定数と特定定数を含むオブジェクトを返します。

プロパティ

名前
任意説明
isTestingbooleanいいえ
reactNativeVersionobjectいいえReact Native のバージョンに関する情報。キーは majorminorpatch (オプションで prerelease) で、値は number です。
Version
Android
numberいいえAndroid に固有の OS バージョン定数。
Release
Android
stringいいえ
Serial
Android
stringいいえAndroid デバイスのハードウェアシリアル番号。
Fingerprint
Android
stringいいえビルドを一意に識別する文字列。
Model
Android
stringいいえAndroid デバイスの一般ユーザーに表示される名前。
Brand
Android
stringいいえ製品/ハードウェアが関連付けられる、消費者に表示されるブランド。
Manufacturer
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

tsx
static isPad: boolean;

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

boolean

isTV

tsx
static isTV: boolean;

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

boolean

isVision

tsx
static isVision: boolean;

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

boolean

isTesting

tsx
static isTesting: boolean;

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

boolean

OS

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

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

enum('android', 'ios')

Version

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

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

number
Android

string
iOS

メソッド

select()

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

現在実行中のプラットフォームに最も適した値を返します。

パラメータ:

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

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 />;