跳到主要内容
版本:Next

平台

示例


参考

属性

constants

React TSX
static constants: PlatformConstants;

返回一个对象,其中包含与平台相关的所有可用通用常量和特定常量。

属性:

名称
类型可选描述
isTestingboolean
reactNativeVersionobject关于 React Native 版本的信息。键为 majorminorpatch,可选的 prerelease 值为 number
Version
Android
numberAndroid 特有的操作系统版本常量。
Release
Android
string
Serial
Android
stringAndroid 设备的硬件序列号。
Fingerprint
Android
string唯一标识该构建的字符串。
Model
Android
stringAndroid 设备面向最终用户显示的名称。
Brand
Android
string产品/硬件所属的面向消费者的品牌。
Manufacturer
Android
stringAndroid 设备的制造商。
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
stringiOS 特有的操作系统版本常量。
systemName
iOS
stringiOS 特有的操作系统名称常量。

isPad
iOS

React TSX
static isPad: boolean;

返回一个布尔值,用于定义设备是否为 iPad。

类型
boolean

isTV

React TSX
static isTV: boolean;

返回一个布尔值,用于定义设备是否为电视。

类型
boolean

isVision

React TSX
static isVision: boolean;

返回一个布尔值,用于定义设备是否为 Apple Vision。如果你使用的是 Apple Vision Pro(为 iPad 设计)isVision 将为 false,但 isPad 将为 true

类型
boolean

isTesting

React TSX
static isTesting: boolean;

返回一个布尔值,用于定义应用是否在启用了测试标志的开发者模式下运行。

类型
boolean

OS

React TSX
static OS: 'android' | 'ios';

返回表示当前操作系统的字符串值。

类型
enum('android', 'ios')

Version

React TSX
static Version: 'number' | 'string';

返回操作系统的版本。

类型
number
Android

string
iOS

方法

select()

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

返回当前运行平台最匹配的值。

参数:

名称类型必需描述
configobject见下方的配置说明。

select 方法会返回当前运行平台最匹配的值。也就是说,如果你在手机上运行,androidios 键会优先匹配。如果未指定这些键,则会使用 native 键,然后使用 default 键。

config 参数是一个对象,包含以下键:

  • android (any)
  • ios (any)
  • native (any)
  • default (any)

示例用法:

React TSX
import {Platform, StyleSheet} from 'react-native';

const styles = StyleSheet.create({
container: {
flex: 1,
...Platform.select({
android: {
backgroundColor: 'green',
},
ios: {
backgroundColor: 'red',
},
default: {
// 其他平台,例如 web
backgroundColor: 'blue',
},
}),
},
});

这会使 container 在所有平台上都拥有 flex: 1,在 Android 上为绿色背景,在 iOS 上为红色背景,在其他平台上为蓝色背景。

由于对应平台键的值可以是 any 类型,select 方法也可用于返回特定平台的组件,如下所示:

React TSX
const Component = Platform.select({
ios: () => require('ComponentIOS'),
android: () => require('ComponentAndroid'),
})();

<Component />;
React TSX
const Component = Platform.select({
native: () => require('ComponentForNative'),
default: () => require('ComponentForWeb'),
})();

<Component />;