之前写了几篇博客,但是没有从最基础的开始写,现在想了想感觉不太合适,所以现在把基础的一些东西给补上,也算是我从零开始学习RN的经验吧!

一、环境搭建

首先声明一下,本人现在用的编辑器是SublimeText3。其实这种教程网上有很多,我只是单纯地把自己的一些经验写出来,也是自己的经历,有地方不对的请指正,感激不尽!

1.Mac开发RN环境搭建

1>安装homebrew,Mac上缺少包管理工具,所以安装Homebrew包管理管理我们需要安装的Node.js等工具和软件。

打开终端输入:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

在Max OS X 10.11(El Capitan)版本中,homebrew在安装软件时可能会碰到/usr/local目录不可写的权限问题。可以使用下面的命令修复:

sudo chown -R `whoami` /usr/local

2>安装Node.js,既然安装好了Homebrew,那么我们通过HomeBrew来安装Node.js

brew install node

3>安装React Native的命令行工具(react-native-cli)

npm install -g react-native-cli

如果你看到EACCES: permission denied这样的权限报错,那么修复权限问题

sudo chown -R `whoami` /usr/local

4>开发iOS必不可少的工具Xcode,这个可以直接在AppStore里面下载

5>安装WatchMan

WatchMan是由Facebook提供的监视文件系统变更的工具。

brew install watchman

6>OK,基本的已经安装完毕,现在可以测试安装了,先创建RN项目

react-native init AwesomeProject

下面这两句如果不熟悉终端的可以不看,直接打开文件夹找到ios文件夹,运行AwesomeProject.xcodeproj就可以了,下面这两句是在终端打开运行AwesomeProject.xcodeproj。

cd AwesomeProject

react-native run-ios

2.安卓环境搭建

ps:安卓环境我没有搭建过,有需要的同学可以看一下教程,跟着教程走搭建安卓开发环境。不过近期我应该会接触这一块,到时候我再修改一下!

二、基础控件的使用

1.对于rn文件的介绍

我有篇博客说过这一段,实在不懂得可以看一下我的这篇博客

2.基础控件的使用

1>Text的使用

首先需要引入Text模块,然后我们可以在View的背景下添加<Text>你需要写的文字</Text>,另外,在index.ios.js或者index.android.js文件中都有Text标签,我们也可以参考。这里我们主要介绍一下Text通用的常用属性。

numberOfLines:1,字面意思就可以看出来是行数的意思,

onPress ,我们也可以从字面猜到什么意思,这是当文本点击时调用的函数onpress={this._selector.bind(this)},实现_selector方法

_selector(){

  //do something

}

这就实现了Text点击的效果。

另外,Text常用的样式:

<Text style={{color:'red', fontSize:20, fontWeight:300,textAlign:'center'}}>Text的常用属性</Text>,注意,直接写样式的话需要用{{}}括起来

这里我没有用StyleSheet来写,简单概括,一个字,懒 T_T

另外还有一些样式,lineHeight、fontFamily,backGroundColor等,这个可以自己测试一下,ps:textAlign对齐方式只是左右居中对齐,不是中心对齐,如果需要中心对齐,我们可以用View包住

<View style={{justifyContent: 'center',alignItems: 'center',backgroundColor: '#F5FCFF',width:200,height:200}}>
<Text style={styles.welcome}>
DemonShow
</Text>
</View>

  其实这样我们也就做了一个简单的Button,

另外还有有的同学不知道怎么获取屏幕的宽高,我们需要引入Dimensions

let ScreenWidth = Dimensions.get('window').width;

let Screenheight = Dimensions.get('window').height;

ps:文字格式有的不太对,修改了一下

React Native环境搭建以及几个基础控件的使用的更多相关文章

  1. Ubuntu17.10 React Native 环境搭建

    React Native 环境搭建 环境:ubuntu17.10 安装依赖 必须安装的依赖有:Node.React Native 命令行工具以及 JDK 和 Andriod Studio. 安装nod ...

  2. [RN] React Native 仿美团下拉筛选菜单控件

    React Native 仿美团下拉筛选菜单控件 演示效果如下: 使用方法如下: 1.安装 npm install react-native-dropdownmenus --save react-na ...

  3. 初学 React native | 环境搭建(在模拟器上运行)

    我的电脑是windows 所以就以 windows上+Android 配置React native 环境 网上的安装教程非常多,我总结了一下,配置环境时出错原因主要是node java python ...

  4. Mac系统下React Native环境搭建

    这里记录一下在Mac系统下搭建React Native开发环境的过程: 1. 安装HomeBrew: /usr/bin/ruby -e "$(curl -fsSL https://raw.g ...

  5. 逻辑性最强的React Native环境搭建与调试

    React Native(以下简称RN),已经“火”了好一段时间了,网上的资料相对也很丰富,只是一直迟迟没有发布1.0,不过出身豪门(Facebook)的RN和国内顶级互联网公司对于RN的实践与应用, ...

  6. react Native环境 搭建

    react Native的优点:跨平台 低投入高回报 性能高 支持动态更新.一才两用(ios和Android) 开发成本第 代码复用率高.windows环境搭建react Native开发环境1.安装 ...

  7. React Native 环境搭建踩坑

    React Native (web Android)环境搭建踩坑(真的是一个艰辛的过程,大概所有坑都被我踩了 官方文档地址 : https://facebook.github.io/react-nat ...

  8. React-Native(一):React Native环境搭建

    第一步:安装jdk 从java官网下载jdk8 配置环境变量: JAVA_HOME:D:\Program Files\Java\jdk1.8.0_111 Path中追加:%JAVA_HOME%\bin ...

  9. react native环境搭建(含错误处理)

    1.  Python 2  注意,不要选择3.0及以上的,还不成熟 安装过程中一直 next就可以了,但是注意下图,勾选添加到系统环境变量 安装完之后cmd输入 python 查看是否安装成功. 补充 ...

随机推荐

  1. 实现一个类 RequireJS 的模块加载器 (二)

    2017 新年好 ! 新年第一天对我来说真是悲伤 ,早上兴冲冲地爬起来背着书包跑去实验室,结果今天大家都休息 .回宿舍的时候发现书包湿了,原来盒子装的牛奶盖子松了,泼了一书包,电脑风扇口和USB口都进 ...

  2. 免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)

    前面介绍了六种.NET组件,其中有一种组件是写文件的压缩和解压,现在介绍另一种文件的解压缩组件SharpZipLib.在这个组件介绍系列中,只为简单的介绍组件的背景和简单的应用,读者在阅读时可以结合官 ...

  3. javascript设计模式:策略模式

    前言 策略模式有效利用组合.委托.多态等技术和思想,可以有效避免多重条件选择语句. 策略模式对开放-封闭原则提供了很好的支持,将算法封装在strategy中,使得他们易于切换.理解.扩展. 策略模式中 ...

  4. C#——传值参数(2)

    //我的C#是跟着猛哥(刘铁猛)(算是我的正式老师)<C#语言入门详解>学习的,微信上猛哥也给我讲解了一些不懂得地方,对于我来说简直是一笔巨额财富,难得良师! 这次与大家共同学习C#中的 ...

  5. 分页插件--根据Bootstrap Paginator改写的js插件

    刚刚出来实习,之前实习的公司有一个分页插件,和后端的数据字典约定好了的,基本上是看不到内部是怎么实现的,新公司是做WPF的,好像对于ASP.NET的东西不多,导师扔了一个小系统给我和另一个同事,指了两 ...

  6. 微信小程序体验(1):携程酒店机票火车票

    在 12 月 28 日微信公开课上,张小龙对微信小程序的形态进行了阐释,小程序有四个特定:无需安装.触手可及.用完即走.无需卸载. 由于携程这种订酒店.火车票和机票等工具性质非常强的服务,非常符合张小 ...

  7. oracle 误删数据恢复

    1.根据时间点查系统版本号scn: select timestamp_to_scn(to_timestamp('2013-01-07 11:20:00','YYYY-MM-DD HH:MI:SS')) ...

  8. MapReduce

    2016-12-21  16:53:49 mapred-default.xml mapreduce.input.fileinputformat.split.minsize 0 The minimum ...

  9. Mono for Android—初体验之“电话拨号器”

    1.Main.axml文件: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmln ...

  10. Xamarin.Android之SQLiteOpenHelper

    一.前言 在手机中进行网络连接不仅是耗时也是耗电的,而耗电却是致命的.所以我们就需要数据库帮助我们存储离线数据,以便在用户未使用网络的情况下也可以能够使用应用的部分功能,而在需要网络连接的功能上采用提 ...