用于区分平台

OS 属性

表示当前的平台类型。只有 iosandroid 两个值。如可以使用为同一个属性在不同的平台上赋不同的值

const styles = StyleSheet.create({
height: Platform.OS === 'ios' ? 200 : 100,
});

select 方法

根据平台返回不同的值

如下,在 android 平台上 bgcolor 为 blue。但是在两个平台上,flex 的值都是 1。

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

const styles = StyleSheet.create({
container: {
flex: 1,
Platform.select({
ios: {
backgroundColor: 'red',
},
android: {
backgroundColor: 'blue',
},
}),
},
});

利用该特性,可以在不同的平台加载不同的组件:

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

.android 文件

rn 系统会自动识别 .android 与 .ios 文件

系统会根据不同的平台加载不同的后缀名的文件。假设有如下文件:

BigButton.ios.js
BigButton.android.js

使用时可以只写前面的 BigButton,如下:

const BigButton = require('./BigButton');

rn 系统会根据不同的平台加载 .android 或 .ios 文件。

转发链接:https://www.jianshu.com/p/df4845b0e6b9

Platform区分不同平台的更多相关文章

  1. 驱动开发学习笔记. 0.04 linux 2.6 platform device register 平台设备注册 1/2 共2篇

    驱动开发读书笔记. 0.04  linux 2.6 platform device register 平台设备注册  1/2 共2篇下面这段摘自 linux源码里面的文档 : Documentatio ...

  2. 驱动开发学习笔记. 0.05 linux 2.6 platform device register 平台设备注册 2/2 共2篇

    驱动开发读书笔记. 0.05 linux 2.6 platform device register 平台设备注册 2/2 共2篇 下面这段摘自 linux源码里面的文档 : 内核版本2.6.22Doc ...

  3. 品友推广的投放原理 RTB:Real Time Bidding(实时竞价) DSP:Demand-Side Platform(需求方平台) 广告交易平台:AD Exchange

    总结: 1.实时竞价 0.1秒出价各个广告主出价,投放价高者: RTB(Real Time Bidding)实时竞价,是一种利用第三方技术在数以百万计的网站或移动端针对每一个用户展示行为进行评估以及出 ...

  4. 【RPA Starter第二课】Introduction to the UiPath Enterprise Platform UiPath企业平台简介

    Introduction to the UiPath Enterprise Platform UiPath 企业平台简介 课程目标: 了解UiPath实现RPA的步骤 描述每个UiPath解决方案的关 ...

  5. Unity 区分不同平台

    问题:公司开发的游戏实在android平台上运行,但是我们是在windows平台下进行开发,OK ,经常有些地方开发完之后就要换到android上面,能区分平台的不同就可以对代码做区分处理 回答:un ...

  6. Hardware Emulation Platform (硬件仿真平台) 在IC验证中的运用情况如何?

    三个EDA公司都有自己的hardware emulation verification platform: Cadence Palladium, Synopsys ZeBu, Mentor Veloc ...

  7. How To Build Kubernetes Platform (构建Kubernetes平台方案参考)

    Architecture Architecture Diagram Non-Prod Environment Prod Environment Cluster Networking Container ...

  8. Java Web学习总结(23)——Distributed Configuration Management Platform(分布式配置管理平台)

    专注于各种 分布式系统配置管理 的通用组件/通用平台, 提供统一的配置管理服务. 主要目标: 部署极其简单:同一个上线包,无须改动配置,即可在 多个环境中(RD/QA/PRODUCTION) 上线 部 ...

  9. 【.Net架构】BIM软件架构03:Web管控平台MVC架构

    一.前言        上一篇讲述的是将BIM平台后台架构CoreService.sln,该解决方案主要作用是对管控平台的核心业务进行封装,然后让前端的ApiController去调用该解决方案中的对 ...

随机推荐

  1. jekens安装

    https://jenkins.io/zh/download/ Generic Java package (.war) 下载jenkins.war文件 将jenkins.war发布到tomcat服务器 ...

  2. Linux tcpdump命令详解与Wireshark

    简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的 ...

  3. C++使用socket传输图片

    Client: #include <WinSock2.h> #include <Windows.h> #include <stdio.h> #pragma comm ...

  4. orm中的聚合函数,分组,F/Q查询,字段类,事务

    目录 一.聚合函数 1. 基础语法 2. Max Min Sum Avg Count用法 (1) Max()/Min() (2)Avg() (3)Count() (4)聚合函数联用 二.分组查询 1. ...

  5. Notepad++设置运行快捷键

    python: 先按F5,之后将下面的命令保存,再设置快捷键. cmd /k c:\python27\python "$(FULL_CURRENT_PATH)" & PAU ...

  6. SQL Server自动备份

    1.打开SQL Server Management Studio 数据库-管理-维护计划,右键,维护计划向导 2.在弹出页面右下方点击[更改],修改计划执行方案 根据需要,修改执行时间 3.修改完毕后 ...

  7. python生成二维码图片

    依赖Pillow库. import qrcode # 简单用法 img = qrcode.make('Hello World!') img.save('qr_code.png') # 高级用法 qr ...

  8. Python 模块 Ⅱ

    搜索路径 当你导入一个模块,Python 解析器对模块位置的搜索顺序是: 1.当前目录 2.如果不在当前目录,Python 则搜索在 shell 变量 PYTHONPATH 下的每个目录. 3.如果都 ...

  9. 什么是CSS 表单?

    ㈠输入框(input) 样式 ⑴使用 width 属性来设置输入框的宽度   示例:css部分:input { width: 100%; }                html部分:<for ...

  10. Ubuntu下搜狗输入法乱码

    本文适用于Ubuntu 16.04,造冰箱的大熊猫@cnblogs 2018/10/10 参考<这里>,可以不用重新登录 这个问题时不时的出现,很烦人,最简单最粗暴的解决的方法是将&quo ...