之前写了几篇博客,但是没有从最基础的开始写,现在想了想感觉不太合适,所以现在把基础的一些东西给补上,也算是我从零开始学习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. C++中的引用

    一,C++中引用的基础知识 1.引用的基本概念 1.所谓的引用其实就是对变量起“别名”.引用和变量对应得是相同的内存,修改引用的值,变量的值也会改变,和指针类似. 2.引用在定义的时候必须要初始化,初 ...

  2. C#多线程之基础篇3

    在上一篇C#多线程之基础篇2中,我们主要讲述了确定线程的状态.线程优先级.前台线程和后台线程以及向线程传递参数的知识,在这一篇中我们将讲述如何使用C#的lock关键字锁定线程.使用Monitor锁定线 ...

  3. Android Notification 详解——基本操作

    Android Notification 详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 前几天项目中有用到 Android 通知相关的内容,索性把 Android Notificatio ...

  4. canvas与html5实现视频截图功能

    这段时间一直在研究canvas,突发奇想想做一个可以截屏视频的功能,然后把图片拉去做表情包,哈哈哈哈哈哈~~ 制作方法: 1.在页面中加载视频 在使用canvas制作这个截图功能时,首先必须保证页面上 ...

  5. MVC还是MVVM?或许VMVC更适合WinForm客户端

    最近开始重构一个稍嫌古老的C/S项目,原先采用的技术栈是『WinForm』+『WCF』+『EF』.相对于现在铺天盖地的B/S架构来说,看上去似乎和Win95一样古老,很多新入行的,可能就没有见过经典的 ...

  6. 基于Vue2.0的单页面开发方案

    2016的最后一天,多多少少都应该总结一下这一年的得失,哪里做的好,哪里需要改进,记一笔,或许将来会用到呢. 毕业差不多半年了,一直是一个人在负责公司项目的前端开发与维护,当时公司希望前后端分离,提高 ...

  7. sql 删除表中的重复记录

    嗯,遇见了表中存在重复的记录的问题,直接写sql删除时最快的,才不要慢慢的复制到excel表中慢慢的人工找呢.哼. 如下sql,找出重复的记录,和重复记录中ID值最小的记录(表中ID为自增长) sel ...

  8. 使用nginx反向代理,一个80端口下,配置多个微信项目

    我们要接入微信公众号平台开发,需要填写服务器配置,然后依据接口文档才能实现业务逻辑.但是微信公众号接口只支持80接口(80端口).我们因业务需求需要在一个公众号域名下面,发布两个需要微信授权的项目,怎 ...

  9. 【流量劫持】SSLStrip 终极版 —— location 瞒天过海

    前言 之前介绍了 HTTPS 前端劫持 的方案,虽然很有趣,然而现实却并不理想.其唯一.也是最大的缺陷,就是无法阻止脚本跳转.若是没有这个缺陷,那就非常完美了 -- 当然也就没有必要写这篇文章了. 说 ...

  10. Android Starting Window(Preview Window)

    当打开一个Activity时,如果这个Activity所属的应用还没有在运行,系统会为这个Activity所属的应用创建一个进程,但进程的创建与初始化都需要时间,在这个动作完成之前系统要做什么呢?如果 ...