A Geek With iOS

React学习笔记(0)

0x00 环境搭建

安装基础环境

安装nvm

brew install nvm

安装node

nvm install stable

常用 nvm 命令

nvm use <version> // 切换版本
nvm ls-remote // 查看远程 Node.js 的版本
nvm ls  // 查看本地安装的 Node.js 的版本

安装 react-native

在安装 react-native 之前,需要确保 Node.js 已经安装且在环境变量中;需要确保 Xcode 已经安装且最好是7.1 或者更高版本

  1. 通过Homebrew 安装watchman和flow

    brew install watchman
    brew install flow
    
  2. 安装完成后,我们就可以通过 npm 安装react-native-cli 的命令行工具:

    $ npm install -g react-native-cli  // -g 表示全局安装
    

    注:如果安装不成功或者很慢,是因为react-native命令是从npm官网源安装,我们可以改用淘宝镜像源来安装

      $ npm config set registry https://registry.npm.taobao.org
    $ npm config set disturl https://npm.taobao.org/dist
    
  3. 安装 cnpmyarn 二选一。
    二者都是加速node下载速度的,所以选一个装就可以。

    npm install -g yarn    

cnpm

    npm install -g cnpm --registry=https://registry.npm.taobao.org

注: yarn可以把react-native设置为环境变量,当然你也可以自己设置

react-native 相关命令

react-native init XXX //创建新工程
react-native start        //启动package,成功之后访问http://localhost:8081/index.android.bundle?platform=ios
react-native run-ios    //运行ios模拟器
react-native run-android //运行android

IDE选择

个人推荐WebStrom
代码提示插件:ReactNative-LiveTemplate

安装方法:

git clone https://github.com/virtoolswebplayer/ReactNative-LiveTemplate

打开webStrom,file -> import settings -> ReactNative.jar

0x01 学习线路图


菜鸟窝React Native 从零到高级- 0基础学习路线

JavaScript

首先是最基础的JavaScript教程,快速过一遍即可。

ES6

ES6也称ES2015,是JavaScipt语言的较新的一种标准,在React Native开发时,我们建议使用这种标准。

ECMAScript 2015 简易教程 - 颜海镜
ECMAScript 6 入门 - 阮一峰
关于Promise:你可能不知道的6件事 - dwqs/blog

语法规范

JavaScript本身变化很快,这份由Airbnb维护的语法规范是使用较为广泛、全面的,很有参考性。

Airbnb React/JSX Style Guide
React Native

快速入门

快速入门实例 - react native 中文网
由于会有一些开源项目和开源组件使用ES5标准进行开发,所以应该看得懂ES5代码。

React/React Native 的ES5 ES6写法对照表 - react native 中文网

布局

布局 FlexBox布局 - 简书

组件

React-Native从入门到深入–组件生命周期 - 简书
React Native 的 Navigator 组件使用方式 - Mystra
React-Native组件用法详解之ListView - 简书
更多组件学习请参考:
React Native专题 - 江清清的技术专栏

React with Redux

Redux 简明教程 - GitHub
Redux 状态管理方法与实例 - Segmentfault
【译】Redux和命令模式 - Jimmylv
Redux 中文文档 - Redux
React + Redux 组件化方案 - IMWeb
React-Native with Redux - Lifecycle

热更新

CodePush 热更新流程(iOS) - talisk’s Wiki
React Native热更新部署/热更新-CodePush最新集成总结 - 简书

原理

React Native 通信机制详解 - bang’s blog

推荐资源

awesome-react-native - GitHub
React Native 中文网
江清清的技术专栏