React Native 入门

226 阅读2分钟

React Native 入门

app 分类

  • native app(原生应用)
  • web app (web 应用)
  • hybird app(混合应用)

Facebook发现Hybrid App存在很多缺陷和不足,于是发起开源的一套新的App开发方案RN。使用JSX语言写原生界面,js通过JSBridge调用原生API渲染UI交互通信。

优点:效率体验接近Native App,发布和开发成本低于Native App。

混合 App 里面的网页不同于普通网页,可以调用底层系统所有的 API。奥秘就在于外层容器提供了 API Bridge,充当底层 API 的中介,允许内部的网页调用底层。所谓 API Bridge 就是容器在底层接口和网页之间,建立一座桥梁,让双方通信。容器一旦接到网页的请求,就根据请求去调用底层系统的 API,然后再返回结果给网页。API Bridge 往往以 JavaScript 语言提供,方便网页调用,这时又称为 JSbridge。 --阮一峰 blog

微信本身是一个容器,开放自己的接口(JSbridge),外部开发者使用规定的语法,编写页面,容器可以动态加载这些页面。

搭建环境,官网教程

  1. 安装 Homebrew
  2. 安装 node, watchman, CocoaPods
  3. 安装 yarn
  4. 安装 Xcode

其中,最麻烦的步骤是 pod install 的过程,由于git clone github项目,导致包下载不下来,最终科学上网解决。 Homebrew 安装教程

创建项目的方式

  • create-react-native-app
  • 使用expo的脚手架expo-cli

设计

样式

样式写法:小驼峰 eg: background-color: '000' 改写成 backgroundColor: '000'

宽高

React Native 中的尺寸都是无单位的,表示的是与设备像素密度无关的逻辑像素点。 宽高没有单位,在样式中width: 500, height: 500

可以使用flex宽高, 百分比宽高.

组件

详情见 rn 官网,组件文档。

TouchableHighlight

只支持一个子节点,如果你希望包含多个子组件,可以用一个 View 来包装它们。

API

详情见 rn 官网,Api 文档。

调试

  • 打开模拟器后 command + d, 打开菜单,选择 debug in chrome。
  • 然后会打开页面 http://localhost:8081/debugger-ui/ ,这里就是调试页面,进行调试,Source 下进行断点调试。