React-Native的那些坑

React-Native的那些坑

环境搭建

这里以Mac为例,依次安装如下软件

  1. Homebrew - Mac上的包管理器,类似于Ubuntu的dpkg
  2. 使用Homebrew安装watchman,官方推荐,用于调试。命令brew install watchman
  3. 使用Homebrew安装flow,可选,它是针对JavaScript应用的静态类型检查器。命令brew install flow
  4. 安装Node
    • 这里FB推荐的是nvm,它是node版本管理器,注意与npm区分开来。nvm可以安装多个版本的node并可以方便的切换。安装nvm参考这里
    • 安装完nvm之后,安装node并初步设置。命令nvm install node && nvm alias default node
  5. 安装主角React-Native,命令npm install -g react-native-cli

创建项目

接下来FB提示我们可以创建第一个RN项目,命令
react-native init AwesomeProject

到这里就遇到了第一个坑:如果直接执行上述命令,那么不出意外,你要经过一个非常漫长的等待,即使连上了VPN,也不一定会很快。

这时候我们可以使用npm的在国内的镜像来解决这个问题,这里我用的是淘宝的npm镜像。

在~/.npmrc文件加入下面的内容

registry=https://registry.npm.taobao.org
这个文件认是没有的,可以使用touch命令创建,使用vim来编辑。vim不会用?看这里

Android版只能一个Activity?

从FB提供的有界面跳转的Android Demo - UIExplorer,Movies里观察,它所有的跳转都是在一个Activity里边进行的。

从文档Sharing a ReactInstance across multiple Activities / Fragments in your app和github的issue Android apps are always one activity,not following Android activity stack guidelines里看,还是可以有多个Activity的,不过这个要尝试之后才知道。
不知道这不是Android里边的一个坑。

P.S. iOS版对应的Demo里边的跳转看着像UINavigationViewController跳转效果,不过它没有像Android的Hierarchy Viewer这样的工具进行调试,所以不好确定是否有原生的多ViewController(可以类比Android里的Activity)的情况。

参考链接

  1. about react-native init AwesomeProject?
  2. React-Native Getting Started
  3. vi/vim基本使用方法
  4. Facebook开源React Native以及相应的IDE:Nuclide
  5. 一个资深iOS开发者对于React Native的看法
  6. React-Native android在windows下的踩坑记
  7. Integrating with Existing Apps
  8. Android apps are always one activity,not following Android activity stack guidelines #2916
  9. 零基础用react-native开发android app
  10. React Native 初探(iOS)
  11. React 入门实例教程

相关文章

一、前言 在组件方面react和Vue一样的,核心思想玩的就是组件...
前言: 前段时间学习完react后,刚好就接到公司一个react项目...
前言: 最近收到组长通知我们项目组后面新开的项目准备统一技...
react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...