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