Перейти к содержанию

Platform

Пример

Свойства

constants

1
static constants: PlatformConstants;

Возвращает объект, содержащий все доступные общие и специфические константы, связанные с платформой.

Свойства:

Имя Тип Описание
isTesting boolean
reactNativeVersion object Информация о версии React Native. Ключами являются major, minor, patch с необязательным prerelease, а значениями - number.
Version number Константа версии ОС, характерная для Android.
Release string
Serial string Аппаратный серийный номер устройства Android.
Fingerprint string Строка, уникально идентифицирующая сборку.
Model string Имя устройства Android, видимое конечным пользователем.
Brand string Видимый потребителю бренд, с которым будет ассоциироваться продукт/оборудование.
Manufacturer string Производитель устройства Android.

isPad

1
static isPad: boolean;

Возвращает булево значение, определяющее, является ли устройство iPad.

Тип
boolean

isTV

1
static isTV: boolean;

Возвращает булево значение, определяющее, является ли устройство телевизором.

Тип
boolean

isTesting

1
static isTesting: boolean;

Возвращает булево значение, определяющее, запущено ли приложение в режиме разработчика с установленным флагом тестирования.

Тип
boolean

OS

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

Возвращает строковое значение, представляющее текущую ОС.

Тип
enum('android', 'ios')

Version

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

Returns the version of the OS.

Тип
number
string

Методы

select()

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

Возвращает наиболее подходящее значение для платформы, на которой вы сейчас работаете.

Параметры:

Имя Тип Описание
config (обязательно) object См. описание конфигурации ниже.

Метод Select возвращает наиболее подходящее значение для платформы, на которой вы сейчас работаете. То есть, если вы работаете на телефоне, предпочтение будет отдано ключам android и ios. Если они не указаны, будет использован ключ native, а затем ключ default.

Параметр config представляет собой объект со следующими ключами:

  • android (любой)
  • ios (любой)
  • native (любой)
  • default (любой)

Пример использования:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
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 также может быть использован для возврата специфичных для платформы компонентов, как показано ниже:

1
2
3
4
5
6
const Component = Platform.select({
    ios: () => require('ComponentIOS'),
    android: () => require('ComponentAndroid'),
})();

<Component />;
1
2
3
4
5
6
const Component = Platform.select({
    native: () => require('ComponentForNative'),
    default: () => require('ComponentForWeb'),
})();

<Component />;

Комментарии