React 组件封装平台 DrawerLayout(仅适用于Android)。Drawer(通常用于导航)呈现 renderNavigationView 渲染导航视图和直接子级,是呈现(您的内容)的主要视图。导航视图是最初在屏幕上不可见的,但可以从由 drawerPosition 指定的窗口的侧面拉出,其宽度可通过 drawerWidth 设置。
使用 DatePickerIOS 来在 iOS 上呈现一个日期/时间选择器(selector)。这是一个控制组件,所以为了组件更新,你必须钩在 onDateChange 回调中,并更新 date 支持,否则用户的变化将立即恢复以反映 props.date。PropsEdit on GitHubdate 日期型当前选中的日期。maximumDate 日期型最大的日期。限制可能的日期/时间值的范围。minimumDate 日期型最小的日期。
PropsEdit on GitHubanimating bool 型显示指示器(true,默认的)还是隐藏它(false)。color 字符串型Spinner 的前景颜色(默认为灰色)。size 枚举型(“小”,“大”)指示器的大小。小的高度为 20,大的高度为 36。例子Edit on GitHub'use strict';var React = require('react-native');var { ActivityIndicatorIOS, StyleSheet, View,} = React;
弃用的模块和原生视图这是 React Native Android 的首次发行,因此在 iOS 平台上出现的视图不一定都会发布在 Android 上面。我们对社区里面的对下一系列模块和视图的开源代码的反馈非常感兴趣。
JavaScript 运行时间当使用 React Native 时,你将会在两个环境中运行 JavaScript 代码:在模拟器和电话中:[JavaScriptCore]( http://trac.webkit.org/wiki/JavaScriptCore) 是 JavaScript 的引擎,能够驱动 Safari 和 web 视图。由于在 iOS 应用程序中没有可写的可执行的内存,它不用 JIT 运行。
由于 React 并没有做出关于你其他的技术堆栈的假设——通常在 MVC 中简单的用 V 来表示——这很容易嵌入到现有 non-React Native 应用程序中。事实上,它与另外的最佳实践社区工具集成了,如 CocoaPods。需求CocoaPods - gem install cocoapodsNode.js - brew install node用 CocoaPods 安装 React NativeCocoaPods 是 iOS/Mac 开发的管理工具包。
USB 调试在设备上开发最简单的方式就是使用 USB 调试。首先请确保你有 USB debugging enabled on your device。一旦在设备上调试是被允许的,在连接的设备上你可以以同样的方式在模拟器里面使用 react-native run-android 来安装并且运行你的 React Native 应用。从设备上获取开发服务器你也可以在设备上使用开发服务器快速集成。
注意,在设备上运行需要 Apple Developer 账号,且需要配置你的 iPhone。本指南仅覆盖 React Native 特定的主题。从设备访问开发服务器你可以使用开发服务器在设备中快速迭代。要做到这一点,你的笔记本电脑和你的手机必须处于相同的 wifi 网络中。打开 iOS / AppDelegate.
运行测试和贡献React Native 回购有几个你可以运行的测试,来验证你没有用PR引起拟合。这些测试是用 Travis 持续集成系统运行的,并自动的向你的 PR 发布结果。你也可以在 IntegrationTest 和在 Xcode 中的 UIExplorer 应用中,使用 cmd+U 本地运行。您可以通过在命令行的 npm test 运行 jest 测试。
访问应用程序内开发者菜单:在 iOS 中摇动设备或在虚拟机里按组合键 control + ⌘ + z .在 Android 中摇动设备或按硬件菜单按钮 (旧的设备中以及大多数虚拟机中都有效,例如, 在 genymotion 中,你可以按组合键 ⌘ + m 来模拟点击硬件菜单按钮)提示要禁用产品构建的开发人员菜单:在 iOS 中,打开 Xcode 中的项目,选择 Product → Scheme → Edit Scheme...
不是每个应用程序都使用所有的 native 功能,也不是包含支持这些特性的代码就会影响二进制大小...但是我们仍然想在你需要它们的时候添加这些特性变得容易。记住我们把这些特性作为独立的静态库公开。对于大多数的 libs 来说,它就像拖两个文件一样简单,有时第三步将是必要的,但仅此而已。我们用 React Native 推出的所有的库存在在根仓库的 Libraries 文件夹中。
这里有很多本地的 UI 部件准备被用到最新的应用程序中 - 其中一些是平台的一部分,其他的部分可以作为第三方库来使用,而且仍然还有更多的部分可能是在你自己的投资组合中使用。React Native 已经将几个最关键的平台组件进行了打包,如同 ScrollView 和 TextInput,但是并不是所有都被打包了,所以当然也不可能是您以前写的应用程序。
有许多 native UI 小部件可以应用到最新的应用程序中——其中一些是平台的一部分,另外的可以用作第三方库,并且更多的是它们可以用于你自己的选集中。React Native 有几个最关键的平台组件已经包装好了,如 ScrollView 和 TextInput,但不是所有的组件都被包装好了,当然了,你为先前的应用程序写的组件肯定没有包装好。
有时候一个应用需要访问 React Native 平台目前没有对应模块的 API 。也许你需要复用一些已经存在的 Java 代码而不需要在 JavaScript 里面重新实现,或者写一些高性能,多线程的代码,比如图片处理,数据库,或者任何先进的扩展。我们设计了 React Native 以致于你可以写一些真正的原生代码并且可以完全拥有系统的权限的能力。
有时一个应用程序需要访问平台 API,React Native 并没有相应的封装器。也许你想重用现有的一些 Objective——C 或 C++ 代码,无需在 JavaScript 上重新实现。或者写一些高性能,多线程的代码,如图像处理、网络堆栈,数据库或渲染。我们设计 React Native,这样可以为你写真正的本地代码,并且能够访问整个平台。
iOS在 iOS 系统上辅助功能涵盖许多话题,但对许多人来说辅助功能是 VoiceOver 的代名词,即 iOS 3.0 版本以后的一种技术。它充当屏幕阅读器的角色,允许有视觉障碍的人使用 iOS 设备。点击这里了解更多。Android对 Android 系统而言,辅助功能涉及到了许多不同的话题,其中之一是让丧失视力的人能够使用您的应用程序。
手势识别在移动设备上比在网络上要复杂得多。当应用程序确定用户的意图时,一个触摸可能要经历几个阶段。例如,应用程序需要确定触摸是否是滚动,滑动部件还是轻击。这甚至可以在触摸期间发生改变,也可以有多个同时触摸。要想使组件在没有任何额外的关于它们的父组件或子组件的知识的情况下处理这些触摸交互,需要触摸应答系统。这个系统在 ResponderEventPlugin.
React Native 不实现 CSS,而是依赖于 JavaScript 来为你的应用程序设置样式。这是一个有争议的决定,你可以阅读那些幻灯片,了解背后的基本原理。声明样式在 React Native 中声明样式的方法如下:var styles = StyleSheet.
序言这篇教程旨在让你使用 React Native 快速的开发 iOS 和 Android 应用。如果你会想什么是 React Native 并且为什么 Facebook 构建了它,这篇 文章 解释了为什么。我们期望你有使用 React 来写应用的经验。如果没有,你可以在 React website 学到。安装React Native 需要一些在 开始 React Native 中阐明的基本的安装。
本指南描述了在安卓模拟器上运行 React Native 安卓应用程序所需要的开发环境的基本安装步骤。在这里我们不讨论诸如 IDE 的开发工具配置。这些指南只包含了从头开始安装的过程。如果你恰好有一些旧的、 过时的 Android SDK 版本,请务必把所需的包更新至下面提到的版本并安装所有缺少的部分。安装和配置 SDK安装最新的 JDK.
关注时代Java