目录

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. 【翻译】Play框架入门教程一:建立项目
  2. 科研工作者一般怎么找文献?
  3. simple java mail
  4. java 中方法重载
  5. 【读书笔记】iOS-设计简单的Frenzic式益智游戏
  6. 让jQuery Tools Scrollable控件在Mobile Web里面支持resize功能
  7. Qt 设置当前窗口出现在左右窗口的最前面
  8. 收藏 | 深度学习19个损失函数汇总
  9. Java编程练习题4
  10. 安装VMware15.5+安装win10虚拟机操作系统(非常详细)
  11. Python 爬取4K美女图片
  12. 企业推进数字化转型零信任是必须?
  13. 2021涅普冬令营Misc笔记与题解
  14. 形如e^(ax^2+bx+c)的积分公式的证明
  15. crontab 每5秒钟执行一次
  16. Gearman 性能调优
  17. JSP系列教材 (一)- 教程
  18. Java Web:开篇综述与第一章
  19. 分享一款极好用的磨皮软件
  20. 乔哈里视窗:职场社交有效沟通法则

热门文章

  1. HTML表格鼠标滑过变色 和奇数偶数行变色+点击变色
  2. Sightseeing trip POJ - 1734 Floyd 最小环
  3. 人工智能对图像处理常用的四大算法
  4. Seal库官方示例(四):bgv_basics.cpp解析
  5. 题解1202Pell数列
  6. 西安交通大学优化方法基础实验大作业
  7. 全网最完美地解决使用spring boot的@Value(“${xxx}“)注解时报出的错误:Could not resolve placeholder ‘xxx‘ in value “${xxx}“
  8. Qt开发:基于Qt开发的机票预订系统
  9. Android 实战美女拼图游戏 你能坚持到第几关
  10. 大连海事大学计算机复试数据库试题,2016年大连海事大学信息科学技术学院X12数据库复试笔试最后押题五套卷...