目前我们项目每个RN页面都是使用registerComponent单独注册,之后接到一个做全局挂件的需求。如果是仅仅有一个registerComponent注册的组件,我们可以将这个全局挂件放到该组件的根组件,然后通过通知来处理。如果按照我们的做法,就需要在每个页面的根部都设置一个全局挂件,而且数据还得单独抽离出来做维护。接下来分析一下这两种方案的优劣:

方案1:

描述:基于该bridge和注册的组件名创建一个RootView, 将该RootView放在Native的顶层窗口上
优势

  1. 这是全局的一个单例组件,并且是在顶层窗口上,不需要每个组件都渲染一次
  2. 当做混合应用时,原生页面也可以显示

劣势:android上需要跟用户要浮窗权限。这个权限还是需要手动开启的,不像存储权限那种弹个确定一点同意就行了,这个权限有的可以直接点打开,有的手机还得用户找到达令家打开

方案2:

描述:做个高阶组件,让每个页面都包含这个挂件
优势:不需要获取权限
劣势
1. 所有的页面都需要渲染这个,并且数据需要抽离到全局,做维护
2. 在native页面不可展示,因为是RN页面

多registerComponent页面时如何设置单例组件相关推荐

  1. 单例模式设计——Vue单例组件实现实例

    前言 单例模式,顾名思义就是只有一个实例.在 Vue 中,应用到该设计模式的有 vuex.vue-route 等. 相关的设计模式和实现在网上可以找到很多教程,这里不做赘述. 在系统中,适合单例模式使 ...

  2. 记录h5表单离开页面时数据储存及取出的问题

    h5表单页面,跳转到指定页面时,表单页面数据储存: 1.采用keepAlive坑太多,数据偶尔丢失: 2.可以使用vuex:将表单页面数据存入store,回来时再将所需数据取出. 表单页面: // 路 ...

  3. 四大传值详解:属性传值,单例传值,代理传值,block传值

    一:属性传值 传值情景:从前一个页面向后一个页面传值 a.在后一个页面,根据传值类型和个数,写属性 b.在前一个页面, 为属性赋值 c.在后一个页面, 使用值 例如: 第一个视图: #import & ...

  4. android对象申明,一行代码配置缺省页, Android最强缺省页框架, 支持代码/布局声明/视图对象回调/全局/单例配置/数据传递...

    StateLayout Android上最强大的缺省页(状态页面)工具 特点 全局配置 单例配置 生命周期(可以加载动画或者处理事件) 刷新回调 获取当前缺省页状态 Loading缺省页支持进度回调 ...

  5. 想过没有,Spring的Bean为啥默认单例?

    熟悉Spring开发的朋友都知道Spring提供了5种scope分别是singleton.prototype.request.session.global session. 如下图是官方文档上的截图, ...

  6. 面试官:为什么 Spring 中的 bean 默认为单例?

    作者 | 小小木 来源 | http://1t.click/ksQ 熟悉Spring开发的朋友都知道Spring提供了5种scope分别是singleton.prototype.request.ses ...

  7. Java实现单例的5种方式

    转自:https://blog.csdn.net/u014672511/article/details/79774847 1. 什么是单例模式 单例模式指的是在应用整个生命周期内只能存在一个实例.单例 ...

  8. JAVA23种设计模式:单例设计模式【二】

    在有些系统中,为了节省内存资源,保证数据内容的一致性,对某些类要求只能创建一个实例,这就是所谓的单例模式 单例设计模式的定义与特点 定义: 指一个类只有一个实例 ,且该类能自行创建这个实列的一种模式. ...

  9. Java枚举and单例

    枚举 什么是枚举? 所谓的枚举,就是把某个类所有的对象一一罗列出来. 枚举类:这个类的对象是有限的. 定义枚举的语法格式 public enum 枚举类类名{值1, 值2, 值3, 值4; } 示例 ...

最新文章

  1. 底部固定菜单_捡起一只妲己团团,附送一个同校固定队友!还有这种好事?
  2. Docker 完全指南
  3. web前端,我的新开始
  4. Java - 初识Java
  5. Spring4.3+Webscket 实现聊天、消息推送详解之具体实现(三)
  6. netsh interface portproxy 转发不生效_SecureCRT远程端口转发不生效的解决方法
  7. Ubuntu10.04制作官方源镜像以及搭建本地源
  8. 04数据库的高级查询
  9. httpclient java 过时_当年用httpclient时踩过的那些坑
  10. 求一个整数的各位累加和
  11. 如何解决Mac上安装Axure首次打开报错的问题?
  12. python plt引用_先引用matplotlib.pyplot再引用tensorflow报错问题
  13. VTD(Virtual Test Drive)
  14. Python 房贷计算器小工具
  15. 【第一组】第八次冲刺例会纪要
  16. 模仿元气森林:为什么会是画虎画皮难画骨?
  17. 时间轮(TimingWheel)
  18. 撸了这么多代码,你真的了解字体吗?
  19. 授权服务器文件包,单包授权认证(SPA)fwknop之安装和演示
  20. PMP——项目组织结构

热门文章

  1. 慎用 ConstraintLayout
  2. 咚咚咚————【封装驱动】Si5351A方波信号发生器发送任意(8K-160Mhz)频率程序
  3. mac上获取当前文件路径
  4. 为啥我学的python需要下载pycharm_python学习一定用pycharm吗?
  5. 【Python】bmi指数计算程序并给出是否健康
  6. [浅析]UE4材质基础总结
  7. cfa英语不好的怎么学_英语基础差,该怎么学习CFA?
  8. 楼宇自控系统服务器 含软件,霍尼韦尔honeywell楼宇自控系统及现场设备 产品清单...
  9. 使用北通手柄控制turtlesim运动
  10. TDW(Tencent Data Warehouse)之hive简介