React-Native学习(iOS程序员笔记)

807 查看

博客将要搬家了在这里,感谢大家的关注

此博客将记录我(ios程序员)学习RN很有价值的内容,代码学习可以参考ReactNativeLeaning(ES6版),最后附了一个sinaWebBo项目,希望大家不吝赐个star。
支持一下新封装的react-native-image-browser,赏个star吧
增加“如何运行在android模拟器”

1、Hello World!

react-native init AwesomeProject 卡住不动:解决React Native初始化项目速度很慢的问题

2、选个好用的编辑器:atom+nuclide的详细使用方法

这个编辑器很好用,有察看dom结构和debugger功能,不过如果你喜欢别的编辑器也可以用;

3、学习的两个重点,布局和语言

4、控件是页面展示的基本组成

react是基于组件开发的,但是组件是由控件组成的。
什么是常用的,按我的经验来说几个,View(为布局而生)、Text(文本展示)、TextInput(输入框)、TouchableHighlight(按钮)、Navigator(导航控制器,多页面控件)、TabBarIOS(多页面控件)
Navigator详解

5、看看官方的Demo

github地址在这里,在examples文件夹里有几个很简单的demo,对于熟练编码还是有价值的,不妨跟着敲一遍,不过都是es5实现的,其中movies的es6实现在这里(不过不完全)。

5.1 如何运行官方的Demo呢?我用运行UIExplorer举例

  • 1.cd 到UIExplorer文件夹;
  • 2.npm install;安装完后,直接在UIExplorer文件夹下运行react-native run-ios,会报错:Command run-ios unrecognized. Did you mean XXX,为何会报错还不知道;
  • 3.运行“开发服务器”,如果你的编辑器是atom,那么cmd+shift+p,输入start packager,回车就会打开服务器了(或者在UIExplorer文件夹下npm start即可);
  • 4.使用xcode运行。

5.2 可能会遇到的error

  • 1.Could not connect to development server:没有启动服务器,如何启动上面提到了使用atom的启动方式和npm start方式;
  • 2.cannot find entry file examples/UIExplorer:这是因为当前启动的服务器是别的项目的,需要重启服务器;

6、卡顿是用户体验的杀手

React?Native痛点解析之性能调优

7、看看真机运行效果

这里只说下ios的,android可以参考 React Native真机调试
1、将AppDelegate中sourceURL的localhost改为电脑的ip;
2、启动服务器,启动方法在上面的5.1.3有提到;
3、运行程序。
ps:手机和电脑要用数据线连接;手机和电脑要连到相同的wifi下

8、如何运行在Android模拟器

安装jdk和android studio(都装最新的就行了),以下问题都是我按顺序遇到的:
1、SDK location not found. Define location with sdk.dir in the locSDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable

Mac OS X export ANDROID_HOME= sdk 路径 export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

2、failed to find target with hash string 'android-23' in: 你的sdk的路径:直接在android studio中的preferences里搜sdk,然后apply就行了

3、failed to find Build Tools revision 23.0.1: 还是在android studio的preferences的Android SDK下,选择SDK Tools,勾选右下角的Show Package Details,选择23.0.1的就行了,然后apply

4、com.android.builder.testing.api.DeviceException: No connected devices!:找工具栏的AVD Manager,下载模拟器