目录

1.变量定义

1.1代码块变量

1.2成员变量

1.3常量(const)

1.4全局变量

1.4.1导出和导入的方式

1.4.2声明全局变量

1.5静态变量

2.组件定义

3.特定平台代码


1.变量定义

1.1代码块变量

代码块变量的作用域主要在方法内部,外部无法访问代码块变量,在ES6通常用let命令定义,示例如下:

1.2成员变量

成员变量主要在整个类(Component)内部都可以访问,通常在constructor方法中定义成员变量同时为成员变量赋值,示例如下:

export default class TabOne extends Component{constructor(props){super(props);//定义成员this.userid='123';  //成员变量this.state = {'cartype':'吉利金刚'};    //成员变量}render(){return (<View style={styles.container}><Text>检测</Text><Text>userid:{this.userid}</Text>   //访问成员变量<Text>cartype:{this.state.cartype}</Text>   //访问成员变量</View>);}
}

1.3常量(const)

const声明一个只读的常量。一旦声明,常量的值就不能改变。

const实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址所保存的数据不得改动。对于简单类型的数据(数值、字符串、布尔值),值就保存在变量指向的那个内存地址,因此等同于常量。但对于复合类型的数据(主要是对象和数组),变量指向的内存地址,保存的只是一个指向实际数据的指针,const只能保证这个指针是固定的(即总是指向另一个固定的地址),至于它指向的数据结构是不是可变的,就完全不能控制了。因此,将一个对象声明为常量必须非常小心。

正确和错误使用示例:

const foo = {};// 为 foo 添加一个属性,可以成功
foo.prop = 123;
foo.prop // 123// 将 foo 指向另一个对象,就会报错
foo = {}; // TypeError: "foo" is read-only
//定义常量
const constone = {};
export default class TabOne extends Component{constructor(props){super(props);//只修改常量属性值constone.propone = 1;}render(){return (<View style={styles.container}><Text>检测</Text>//显示常量属性值<Text>constone:{constone.propone}</Text></View>);}
}

1.4全局变量

全局变量就是整个源程序都有效的变量。全局变量存储在全局数据区中,它的生命周期和主程序一样,随程序的销毁而销毁。 全局变量需要先声明后使用,声明后的全局变量在程序的各个部分都可以使用。

RN全局变量有两种使用方式:

1.4.1导出和导入的方式

a.ES5导出的方式

新建Global.js;

导出module.exports = NetAddr

var host='http://www.baidu.com';
var NetAddr = {RegisterUser:host+'/login/registerUser'
}
module.exports = NetAddr

bES6导出的方式

新建Global.js;

直接导出 export default {RegisterUser:host+'/login/registerUser'}

var host='http://www.sohu.com';
// var NetAddr = {
//     RegisterUser:host+'/login/registerUser'
// }
// module.exports = NetAddr
export default {RegisterUser:host+'/login/registerUser'}

导入调用方式

import Global from './Global'
render(){return (<View style={styles.container}><Text>全局变量值:{Global.RegisterUser}</Text></View>);}

1.4.2声明全局变量

(nodejs中的global对象:用于定义整个runtime时期的全局变量)

新建文件Variables.js:

global.Variables={language: 'English'}

入口文件(比如App.js文件)导入,全局使用

import './Variables.js';

{global.Variables.language} //获取全局变量的值

1.5静态变量

静态变量定义

static staticdefine = 123;

静态变量引用

TabOne.staticdefine(类名.变量名)

export default class TabOne extends Component{static staticdefine = 123;constructor(props){super(props);}render(){return (<View style={styles.container}><Text>静态变量:{TabOne.staticdefine}</Text></View>);}
}

2.组件定义

谈一谈创建React Component的几种方式

https://blog.csdn.net/ahou2468/article/details/88637452

3.特定平台代码

判断平台代码,主要用于区分系统类型和版本

https://reactnative.cn/docs/platform-specific-code/#platform模块

参考:

React Native全局变量Global

https://www.jianshu.com/p/1dacb466de92

ECMAScript 6 入门

http://es6.ruanyifeng.com/?search=var&x=0&y=0#docs/let#顶层对象的属性

10.React Native之常量、变量、组件;相关推荐

  1. React Native 项目常用第三方组件汇总

    React Native 项目常用第三方组件汇总 https://www.jianshu.com/p/d9cd9a868764?utm_campaign=maleskine&utm_conte ...

  2. React Native 项目简单整理-组件优化

    2019独角兽企业重金招聘Python工程师标准>>> 断断续续敲了一天,记录一下没有优化的分类的代码,App.js 里的代码 /*** Sample React Native Ap ...

  3. 16、React Native实战之TextInput组件

    文本输入框:基本组件 自动补全的搜索功能 TextInput的主要属性和事件如下: autoCapitalize:枚举类型,可选值有none  sentences  words  characters ...

  4. React Native中一些常用组件用法

    View组件 View是一个支持Flexbox布局.样式.一些触摸处理.和一些无障碍功能的容器,并且它可以放到其它的视图里,也可以有任意多个任意类型的子视图. View的设计初衷是和StyleShee ...

  5. Android React Native使用原生UI组件

    Android React Native 已经将几个常用的原生组件进行了封装,比如 ScrollView 和 TextInput,但是并不是所有系统的原始组件都被封装了,因此有的时候我们不得不自己动手 ...

  6. java去掉rn,React Native删除第三方开源组件的依赖包

    最近项目即将上线,但是遇到了一个问题,安装之后第一次打开时,在有的Android手机上崩溃,之后再次运行就好了,好多Android机型都遇到这种情况,定位问题,发现是之前加载的第三方开源控件:reac ...

  7. React Native获取设备信息组件

    转载 https://www.jianshu.com/p/907b003835dc 本文原创首发于公众号:ReactNative开发圈,转载需注明出处. 这次介绍的获取移动设备信息的组件名叫:reac ...

  8. react native 中下拉列表FlatList组件的讲解以及实例demo

    RN中的下拉列表组件.以前RN的下拉列表是listView,但是这个组件的性能不咋地.当数据较多的时候就会很卡.所以RN就新出了一个FaltList组件来代替它.这里我们简单总结一下新的下拉组件. 一 ...

  9. beeshell —— 开源的 React Native 组件库

    背景 beeshell 是一个 React Native 应用的基础组件库,基于 0.53.3 版本,提供一整套开箱即用的高质量组件,包含 JavaScript(以下简称 JS)组件和复合组件(包含 ...

最新文章

  1. JAVA代码编写的30条建议
  2. import Vue form 'vue’的意思
  3. 提升数据分析能力成熟度之四步曲_数据分析师
  4. 收藏!数据建模最全知识体系解读
  5. java学习(三) java 中 mongodb的各种操作
  6. mysql创建表有则删除_MySQL创建表和删除表
  7. tomcat 7 mysql,Tomcat 七设置mysql数据源
  8. 循序渐进 OSPF的详细剖析(二)
  9. KVM 虚拟化技术 理论详解
  10. oracle数据库常用操作语句大全,Oracle 数据库常用操作语句大全
  11. RHCE考试分开三个阶段
  12. Js——ES2015(ES6)基础语法
  13. 面试之NGFW 性能测试
  14. 知识付费产品复购率低成难题
  15. Spring Cloud - 注册中心
  16. 趣节点带您3分钟搞懂信息流广告
  17. 利用charles 抓取ios app的https数据包-----软件配置和抓取步骤
  18. python 比较两种包装的大米的价钱
  19. R语言--模型的定阶、估计和显著性检验
  20. 车载以太网物理层PMA测试和IOP测试属于Layer 1(物理层)

热门文章

  1. C# 访问SafeNet加密锁注意事项
  2. 编程思维——可以受用一生的赢家思维
  3. 坦克项目的炮塔旋转BUG记录——Unity随手记(2020.11.19)
  4. Large Displacement Optical Flow: Descriptor Matching in Variational Motion Estimation
  5. 自制Win7安装U盘
  6. mac 4k分辨率 字太小 27寸 hidpi_推介一款多功能便携式4K会议录像机内置硬盘录制...
  7. 知乎通过港股聆讯:现金储备74亿 腾讯创新工场启明是股东
  8. 阿里巴巴-菜鸟技术招聘JD
  9. 多种进制转化 C/C++语言
  10. 2020-用多通道卷积神经网络学习单类特征用于人脸表现攻击检测