当前位置: 首页 > news >正文

【taro react】 ---- 常用自定义 React Hooks 的实现【四】之遮罩层

1. 问题场景

在实际开发中我们会遇到一个遮罩层会受到多个组件的操作影响,如果我们不采用 redux 之类的全局状态管理,而是选择组件之间的值传递,我们就会发现使用组件的变量来控制组件的显示和隐藏很不方便,更不要说像遮罩层这样一个项目多处使用的公共组件,他的隐藏和显示也只能放到某一个模块的 redux 中,还要解决遮罩层在ScrollView内,会在IOS显示不全,等等bug的问题,可以说烦不胜烦。

2. 解决办法

  1. 使用当前页面模块的 redux 来管理当前页面中的遮罩层;
  2. 使用 useReducer 来管理当前页面中的遮罩层;
  3. 使用 hook 来实现遮罩层的清除和添加。

3. 方案分析

  1. 方案一和方案二其实原理都一样,就是将控制遮罩层的变量集中管理,但是缺点也很明显,就是我们需要多少遮罩层,就会创建多少个变量,维护这些变量来控制遮罩层的显示与隐藏。维护多变量控制多遮罩层
  2. 方案三我采用的是使用一个变量来接收遮罩层,通过改变变量的值来实现遮罩层的显示与隐藏。维护单一变量

4. 保存 hook 初始化配置

  1. 在 hook 初始化时,使用 useRef 对初始化配置进行记录;
  2. 防止对 options 改变时,没有及时更新,因此监听 options,发生变化时,对初始化配置进行更新。
  let
http://www.lryc.cn/news/191384.html

相关文章:

  • 【git】git命令行
  • centos8 jenkins 搭建和使用
  • Hive实战(03)-深入了解Hive JDBC:在大数据世界中实现数据交互
  • SQL开发笔记之专栏介绍
  • 华为OD机考算法题:找终点
  • el-table通过scope.row获取表格每列的值,以及scope.$index
  • uni-app:本地缓存的使用
  • 在Scrum敏捷开发中,开发人员(Developers)的职责
  • SOLIDWORKS® 2024 新功能 - 3D CAD
  • 系统架构设计:20 论软件需求管理
  • K8S云计算系列-(2)
  • 通讯录(C语言版)
  • natapp内网穿透-将本地运行的程序/服务器通过公网IP供其它人访问
  • 数据结构八大排序Java源码
  • 区块链加密虚拟货币交易平台安全解决方案
  • 【SoC FPGA】HPS启动过程
  • Wireshark CLI | Mergecap 篇
  • 10个打工人必备AI神器,升职加薪靠AI
  • Java架构师缓存架构设计
  • Linux 安全 - DAC机制
  • 解决Windows系统win+shift+s截图快捷键失效问题
  • Excel 快速填充
  • OPENCV图像和视频处理
  • QDir实践
  • 网络通信三要素
  • 2023年中国渔业研究报告
  • python字符串中的\“
  • Elasticsearch 分片内部原理—使文本可被搜索、动态更新索引
  • lvgl 界面管理器
  • 一篇文章让你了解“JWT“