Platform
例
リファレンス
プロパティ
constants
tsx
static constants: PlatformConstants;
プラットフォームに関連する利用可能なすべての共通定数と特定定数を含むオブジェクトを返します。
プロパティ
名前 | 型 | 任意 | 説明 |
|---|---|---|---|
| isTesting | boolean | No | |
| reactNativeVersion | object | No | React Nativeのバージョン情報。キーはmajor、minor、patch(オプションのprerelease付き)で、値はnumberです。 |
| Version Android | number | No | Androidに特化したOSバージョン定数。 |
| Release Android | string | No | |
| Serial Android | string | No | Androidデバイスのハードウェアシリアル番号。 |
| Fingerprint Android | string | No | ビルドを一意に識別する文字列。 |
| Model Android | string | No | Androidデバイスのエンドユーザー向けの名前。 |
| Brand Android | string | No | 製品/ハードウェアが関連付けられる、消費者向けのブランド。 |
| Manufacturer Android | string | No | Androidデバイスの製造元。 |
| ServerHost Android | string | はい | |
| uiMode Android | string | No | 取りうる値は: 'car'、'desk'、'normal'、'tv'、'watch'、'unknown'です。 Android ModeTypeについて詳しくはこちらをご覧ください。 |
| forceTouchAvailable iOS | boolean | No | デバイスでの3D Touchの利用可能性を示します。 |
| interfaceIdiom iOS | string | No | デバイスのインターフェースタイプ。 UIUserInterfaceIdiomについて詳しくはこちらをご覧ください。 |
| osVersion iOS | string | No | iOSに特化したOSバージョン定数。 |
| systemName iOS | string | No | 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 |
Methods
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 />;