本文示例参考自《React Native第一课》

React Native官方文档中文版(含最新Android内容)

这里只大概记录下我的操作步骤和遇到的问题,一定要牢记下面这条:

如果你在Mac下遇到提示写入权限时,记得在命令前加上sudo

 

 

安装开发所需要的环境,参考这里>>

 

我所遇到的几个问题:

1) 安装brew

curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1

参考自 《Mac安装Brew》

2) 安装并激活nvm

参考官方文档:https://github.com/creationix/nvm#installation

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.28.0/install.sh | bash

激活nvm “. ~/.nvm/nvm.sh” 或 “source ~/.nvm/nvm.sh”

3) 安装react-native-cli,注意权限问题

sudo npm install -g react-native-cli

4) 初始化工程,贼慢

sudo react-native init hello
不知道什么原因,特别慢,下载那里一直就不停的左右\/来回切换,超过半个小时都没反应

5) 双击.xcodeproject报错(很抱歉这里我没有将出错的信息捕捉并截图保存)

sudo chmod -R 777 工程目录文件名   设置可读写的操作权限

6) 模拟器Command + R不刷新界面

参考:https://github.com/facebook/react-native/issues/306

7) 编码时提示样式属性设置错误,React Native目前支持的样式属性名

Valid style props : [
    alignItems
    alignSelf,
    backfaceVisibility,
    backgroundColor,
    borderBottomColor,
    borderBottomLeftRadius,
    borderBottomRightRadius,
    borderBottomWidth,
    borderColor,
    borderLeftColor,
    borderLeftWidth,
    borderRadius,
    borderRightColor,
    borderRightWidth,
    borderStyle,
    borderTopColor,
    borderTopLetRadius,
    borderTopRightRadius,
    borderTopWidth,
    borderWidth,
    bottom,
    color,
    flex
    flexDirection,
    flexWrap,
    fontFamily,
    fontSize,
    fontStyle,
    fontWeigt,
    height,
    justifyContent,
    left,
    letterSpacing,
    lineHeight,
    margin,
    marginBottom,
    marginHorizontal,
    marginLeft,
    marginRight,
    marginTop,
    marginVertical,
    opacity,
    overflow,
    padding,
    paddingBottom,
    paddingHorizontal,
    paddingLeft,
    paddingRight,
    paddingTop,
    paddingVertical,
    position,
    resizeMode,
    right,
    rotation,
    scaleX,
    scaleY,
    shadowColor,
    shadowOffset,
    shadowOpacity,
    shadowRadius,
    textAlign,
    textDecorationColor,
    textDecorationLine,
    textDecorationStyle,
    tintColor,
    top,
    transform,
    transformMatrix,
    translateX,
    translateY,
    width,
    writingDirection
]

为了了解一下CSS在React Native的使用情况,比如如何设置多个属性等,我做了一些尝试,最终的效果如下图。代码在这里>>

 

<View style={[styles.container, styles.space,]}>

如果你想了解各个组件里面具体的实现及使用方法/属性,可以直接看相应的.js源码,如截图所示:

 

 

 

看上去挺简单的一些东西,其实坑也有不少,自己去动手就知道水的深浅了,有了它开发移动应用确实很爽了,简直就是爽歪歪了!but,你不要指望会使用它就结束了,至少你还是要去学下Objective-C/Swift/Cocoa以及Android/Java,不然如果之后你遇到官方没有暴露出来的底层组件,你昨办咧?等别人来帮你解决么,那只能祝你好运了 :)

 

各位有致于React Native的同学,在跳入这个坑之前,我觉得有还是有几项技能需要准备一下:

1、JavaScript 基本的语法要会,ES6你需要了解一下,不然看到类似下面的代码确定不会茫然吗

var {
  AppRegistry,
  ActivityIndicatorIOS,
  Image,
  ListView,
  StyleSheet,
  Text,
  View,
} = React;
还有一个就是JSX的问题,很多人觉得它“退步了”,怎么说呢,站在某种角度来看它,的确是这样。但从整体上来说,它是为了减少代码量和编码直观而创造的。比如React.createElement(xxx (后面还有很长的东东,属性啊,事件之类的),你用<View Style={} 就搞定了,这样看上去反而更简单。
 
2、flex-box的布局模型
A Complete Guide to Flexbox 这篇文章你一定不能错过,五星推荐,不过要注意的是并不是所有属性React Native都支持,支持的几个就是:flex、flex-direction、flex-wrap、justify-content、align-items、align-self
实际应用属性名时,多个单词从第二个单词开始,首字母全部大写,就变成了:flex、flexDirection、flexWrap、justifyContent、alignItems、alignSelf
 
3、了解一下React.js
React是一种思想,React js和React Native都是基于React的想法而实现的(组件化开发)。主要是因为web相对而言开发环境容易些、上手难度更低一些(我是搞Web的可完全没有贬低之意),你完全可以找个在线的编辑器,比如:http://jsfiddle.net/    http://codepen.io/,在网页里敲代码然后马上就能看到效果,总比你一直要抱着mac强吧。毕竟很多公司是不允许员工使用除公司外的电脑,外有GFW,内有公司各种屏蔽规则,WIFI限制/访问站点限制,之前查个资料豆瓣也被屏蔽了。好在运维也要看知乎,这个倒是没屏蔽,ORZ…
 
 
唠叨这些多,在拉勾网上已经看到一些公司开始招React Native的人了,祝各位小伙伴玩的愉快!

最新文章

  1. Warning: strftime(): It is not safe to rely on the system&#39;s timezone settings.
  2. Verilog学习笔记简单功能实现(七)...............接口设计(并行输入串行输出)
  3. VC_MFC水波纹控件,开源
  4. 集合框架学习笔记&lt;三&gt;
  5. requesting java ast from selection
  6. SQL Server 2008将数据导出为脚本
  7. AspectJ给类的属性打桩,进行替换。
  8. Shuttle ESB 实践
  9. 通知传值 notification
  10. Code Kata:超级偶数数列 javascript实现
  11. 在 .NET 中,扫描局域网服务的实现
  12. 2017年 JavaScript 框架回顾 -- React生态系统
  13. Map,HashMap,TreeMap
  14. Supported method argument types Spring MVC
  15. Intelij idea 版本控制工具窗口
  16. Source Insight小技巧:修改Symbol Window的默认宽度
  17. python 算术运算
  18. BZOJ2959长跑——LCT+并查集(LCT动态维护边双连通分量)
  19. c++中的类(class)-----笔记(类简介)
  20. mongoDB自动杀执行时间的连接

热门文章

  1. mormot orm rest注意事项
  2. Mispelling 1510
  3. Ubuntu上如何卸载Vmware产品
  4. EXCEL某列长度超过255个字符导入SQL SERVER的处理方法
  5. VMware12 安装 CentOS 6.5 64位
  6. tomcat提供文件下载
  7. Java文件读取
  8. (light OJ 1005) Rooks dp
  9. 套题 bestcoder 84
  10. HttpLib - 一个对 Http 协议进行封装的库