> 今天把react native环境搭建完成,然后运行个小demo试试.
> [第一篇环境配置 & Hello World](http://vczero.github.io/react_native/%E7%AC%AC1%E7%AF%87hello%20react-native.html)
# 总结
按照上面的学习文章,我基本完成,但是在配置过程中遇到2个问题,需要终结一下。
## 已安装node
由于我安装react-native之前已经安装过node,我们执行的话会报错,这个错误就是因为react-native使用的是io.js,这个时候我们需要安装io.js,而你必须删除node,我按照教程上的解答使用了`brew unlink node`,来删除对node的引用,然后安装iojs,但是在使用`sudo brew link iojs --force`会报错:
~~~
58deMacBook-Pro:react-native wuxian$ sudo brew link iojs --force
Linking /usr/local/Cellar/iojs/2.5.0...
Error: Could not symlink bin/node
Target /usr/local/bin/node
already exists. You may want to remove it:
rm '/usr/local/bin/node'
To force the link and overwrite all conflicting files:
brew link --overwrite iojs
To list all files that would be deleted:
brew link --overwrite --dry-run iojs
~~~
## 解决方法
这个时候我们要使用`sudo brew link --overwrite iojs --force`来用iojs覆盖node.js。
## 空指针的错误
我初始化一个Helloworld项目后,会报错,报一个空指针的错误
~~~
NSURLSessionDownloadTask *task = [_URLSession downloadTaskWithURL:url completionHandler:nil];
~~~
![](https://box.kancloud.cn/2016-01-07_568e13ecd9ce3.jpg)
我改成了一个空的实现:
~~~
NSURLSessionDownloadTask *task = [_URLSession downloadTaskWithURL:url completionHandler:^(NSURL *location, NSURLResponse *response, NSError *error){
}];
~~~
程序就运行成功了。
![](https://box.kancloud.cn/2016-01-07_568e13ed01019.jpg)
后来我在github上找到问题的另外一种[解决方案](https://github.com/facebook/react-native/issues/2117)
就是删掉方法的 `completionHandler:nil`后变为如下形式就正确了:
~~~
NSURLSessionDownloadTask *task = [_URLSession downloadTaskWithURL:url];
~~~
- 前言
- react-native试玩(1)
- react-native试玩(2)
- (3)-窥探开发者选项
- (4)-新建项目
- (5)-小菊花控件
- (6)-日期选择控件
- (7)-图片控件
- (8)-列表视图
- (9)-地图视图
- (10)-导航栏
- (11)-模态
- (12)-iOS中导航栏
- (13)-选择控件
- (14)-iOS中进度栏
- (15)-滚动视图
- (16)-iOS分段控制控件
- (17)-iOS中的滑动条
- (18)-开关控件
- (19)-分页栏
- (20)-分页栏中的元素
- (21)-文本控件
- (22)-文本输入框
- (23)-触摸高亮
- (24)-触摸模糊
- (25)-触摸无反馈
- (26)-网页视图
- (27)-上拉菜单API
- (28)-弹出框API
- (29)-React Native Playground
- (30)-应用状态API
- (31)-访问相册API
- (32)-推送通知API
- (33)-状态栏API
- (34)-配置Android开发环境
- (35)-react-native-icons插件