Platform
例
リファレンス
プロパティ
constants
static constants: PlatformConstants;
プラットフォームに関連するすべての一般的な定数と特定の定数を含むオブジェクトを返します。
プロパティ
名前 | 型 | オプション | 説明 |
---|---|---|---|
isTesting | boolean | いいえ | |
reactNativeVersion | object | いいえ | React Nativeのバージョンに関する情報。キーはmajor 、minor 、patch で、オプションの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向け設計)を使用している場合、isVision
はfalse
になりますが、isPad
はtrue
になります
型 |
---|
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;
現在実行しているプラットフォームに最適な値を返します。
パラメータ
名前 | 型 | 必須 | 説明 |
---|---|---|---|
config | object | はい | 下記のconfigの説明を参照してください。 |
selectメソッドは、現在実行しているプラットフォームに最適な値を返します。つまり、スマートフォンで実行している場合、android
とios
キーが優先されます。それらが指定されていない場合、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 />;