react-native-pg-utils

对react-native全局进行配置,对内置对象原型链增加方法,增加常用全局方法.

每次新建react-native项目之后都会发现有一些很常用的方法在这个项目中也会用到,有些对全局的配置(禁用模拟器上显示黄框,release发布版本中时console打印失效等).这些如果在新项目中在搞一次的话的确是很麻烦,所以我就将其封装成了这个库.

github地址: https://github.com/geek-prince/react-native-gp-utils

npm地址: https://www.npmjs.com/package/react-native-gp-utils

{{TOC}}

安装

npm install react-native-gp-utils --save

如何使用

首先导入插件

三种侵入式等级(根据情况选择其中一种方式导入)

  • 0:非侵入式:每个要用到的方法的文件中都要导入指定的工具类,并以工具类.方法名的方式调用方法.

    -- 优点:不会占用任何一个全局变量和任何一个内建对象(Array,String对象等)的prototype原型链属性,不会造成全局变量污染

    -- 缺点:每个要使用的文件都要导入相应的库文件,不方便

  • 1:部分侵入式(推荐):只用在入口文件中导入一次即可,并以工具类.方法名方式调用方法,内建对象以arr.unshiftFromIndex的形式调用.

    -- 优点:相对方便,只用入口文件导入一次,其他文件都可以使用.

    -- 缺点:会占用与各个工具类名相同的全局变量的属性(也可把各个工具类名定义为自定义的变量名),以及各个内建对象(Array,String对象等)的prototype原型链的与方法名相同的属性

  • 2:完全侵入式:只用在入口文件中导入一次即可,并以方法名方式直接调用方法,内建对象以arr.unshiftFromIndex的形式调用.

    -- 优点:非常方便,在入口文件中导入一次即可,在任何地方使用任何方法,只用直接用方法名就可以调用方法.

    -- 缺点:会占据各个工具类中所有和方法名相同的全局变量(会造成全局变量污染),和各个内建对象(Array,String对象等)的prototype原型链的与方法名相同的属性

三种侵入式等级分别导入插件的方式

导入库->设置配置选项(可选)->自定义各个库文件名(可选,在侵入式等级1中使用)->给出侵入式等级初始化

1.导入库

import GPUtils from 'react-native-gp-utils';

2.设置配置选项(可选)

GPUtils.configs={yellowBoxOn:true}; //这里设置打开警告提示黄框

3.自定义各个库文件名(可选,在侵入式等级1中使用)

//这里表示将CommonUtils,ArrayUtils工具类的名称分别自定义为CU,AU,没给出的按默认的工具类的名称.
GPUtils.namesMap={CommonUtils:'CU',ArrayUtils:'AU'};

4.给出侵入式等级初始化

4.1.以侵入式等级0初始化
// let {CommonUtils,ArrayUtils}=GPUtils.initWtihInvadeScale(0);
// 也可以向下面这样为之自定义名称
let {CommonUtils:CU,ArrayUtils:AU}=GPUtils.initWtihInvadeScale(0);
4.2.以侵入式等级1初始化(推荐)
GPUtils.initWtihInvadeScale(1); //自定义名称在上面第3步
4.3.以侵入式等级2初始化
GPUtils.initWtihInvadeScale(2); //完全侵入,不支持自定义名称(因为每个方法名都会成为全局变量)

可配置选项(上面第2步)

|:-----------

最新文章

  1. [LeetCode] Counting Bits 计数位
  2. Sharepoint + Office Infopart + Quick Apps for Sharepoint搭建无纸化工作平台
  3. 用js生成PDF的方案
  4. SDL播放视频
  5. Uploadify v3.2.1 上传图片并预览
  6. 仿照微信的效果,实现了一个支持多选、选原图和视频的图片选择器,适配了iOS6-9系统,3行代码即可集成.
  7. ArangoDB介绍——未知架构和底层原理
  8. C++ STL vector 内存分配
  9. leetcode_question_115 Distinct Subsequences
  10. Android学习笔记(一)Git相关配置及使用
  11. 使用U盘安装ubuntu 12.04(使用大白菜u盘启动工具)
  12. 【概率论与数理统计】小结4 - 一维连续型随机变量及其Python实现
  13. js制作可拖拽可点击的悬浮球
  14. Node.js实战项目学习系列(3) CommonJS 模块化规范
  15. Vim 安装、配置及复制粘贴操作
  16. Practical Node.js (2018版) 第4章: 模版引擎
  17. 遭遇java.lang.NoClassDefFoundError: org/apache/tomcat/PeriodicEventListener
  18. Kali-linux使用社会工程学工具包(SET)
  19. centos下安装升级python到python3.5
  20. [hdu5251]矩形面积 旋转卡壳求最小矩形覆盖

热门文章

  1. JVM学习(一)Java虚拟机运行时数据区域
  2. Snoopy.class.php介绍
  3. python学习-6 猜拳小游戏
  4. python学习-1 编程语言的介绍
  5. poj 2891 模数不互质的中国剩余定理
  6. 前端性能优化-Vue代码层面
  7. 三种定位+堆叠+li小黑点变图片
  8. localStorage、sessionStorage和cookie的区别
  9. echarts和v-chart使用心得
  10. Java秒杀实战 (六) 服务级高并发秒杀优化(RabbitMQ+接口优化)