react-native试玩(1)

今天把react native环境搭建完成,然后运行个小demo试试.
第一篇环境配置 & Hello World

总结

按照上面的学习文章,我基本完成,但是在配置过程中遇到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]; 

我改成了一个空的实现:

NSURLSessionDownloadTask *task = [_URLSession downloadTaskWithURL:url completionHandler:^(NSURL *location,NSURLResponse *response,NSError *error){
  }];

程序就运行成功了。

后来我在github上找到问题的另外一种解决方案

就是删掉方法completionHandler:nil后变为如下形式就正确了:

NSURLSessionDownloadTask *task = [_URLSession downloadTaskWithURL:url];

相关文章

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