本文是深入浅出ahooks源码系列文章的第二篇,该系列已整理成文档-地址。觉得还不错,给个star支持一下哈,Thanks。本文来讲下ahooks的核心hook——useRequest。useRequest简介根据官方文档的介绍,useRequest是一个强大的异步数据管理的Hooks,React项目中的网络请求场景使用useRequest就够了。useRequest通过插件式组织代码,核心代码极其简单,并且可以很方便的扩展出更高级的功能。目前已有能力包括:自动请求/手动请求轮询防抖节流屏幕聚焦重新请求错误重试loadingdelaySWR(stale-while-revalidate)缓存这
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助1.介绍什么是虚拟滚动?虚拟滚动就是通过js控制大列表中的dom创建与销毁,只创建可视区域dom,非可视区域的dom不创建。这样在渲染大列表中的数据时,只创建少数的dom,提高性能。2.分类在虚拟滚动技术中,虚拟滚动可以分为定高虚拟滚动和非定高虚拟滚动。定高指的是每一个列表元素都是高度固定的,非定高指的是每一个列表元素的高度是动态变化的。定高虚拟滚动的实现比较容易,而且性能高;非定高虚拟滚动的失效稍微复杂,而且性能比定高虚拟滚动要差一些。无论是定高虚拟滚动还是非定高虚拟滚动,都是虚拟滚动技术的分类,对于大数据渲染都有很大的性能提升。下
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助1.介绍什么是虚拟滚动?虚拟滚动就是通过js控制大列表中的dom创建与销毁,只创建可视区域dom,非可视区域的dom不创建。这样在渲染大列表中的数据时,只创建少数的dom,提高性能。2.分类在虚拟滚动技术中,虚拟滚动可以分为定高虚拟滚动和非定高虚拟滚动。定高指的是每一个列表元素都是高度固定的,非定高指的是每一个列表元素的高度是动态变化的。定高虚拟滚动的实现比较容易,而且性能高;非定高虚拟滚动的失效稍微复杂,而且性能比定高虚拟滚动要差一些。无论是定高虚拟滚动还是非定高虚拟滚动,都是虚拟滚动技术的分类,对于大数据渲染都有很大的性能提升。下
项目地址npm库地址:https://www.npmjs.com/package/dd-ui-library组件库:https://github.com/YolandaKisses/ui-library目录结构├─src│└─components//存放测试页面│└─lib//存放组件源码│└─utils//存放工具类│└─router//路由配置指向测试页面进行组件调试│└─main.js├─.gitignore└─package.json组件封装src/lib下存放组件源码,目录结构需统一为├─xxx组件│└─src│ └─index.vue//组件源码│└─index.js//调用ins
项目地址npm库地址:https://www.npmjs.com/package/dd-ui-library组件库:https://github.com/YolandaKisses/ui-library目录结构├─src│└─components//存放测试页面│└─lib//存放组件源码│└─utils//存放工具类│└─router//路由配置指向测试页面进行组件调试│└─main.js├─.gitignore└─package.json组件封装src/lib下存放组件源码,目录结构需统一为├─xxx组件│└─src│ └─index.vue//组件源码│└─index.js//调用ins
本文是深入浅出ahooks源码系列文章的第十五篇,该系列已整理成文档-地址。觉得还不错,给个star支持一下哈,Thanks。本篇接着针对关于DOM的各个Hook封装进行解读。useFullscreen管理DOM全屏的Hook。该hook主要是依赖screenfull这个npm包进行实现的。选择它的原因,估计有两个:它的兼容性好,兼容各个浏览器的全屏API。简单,包体积小。压缩后只要1.1k。大概介绍几个它的API。.request(element,options?)。使一个元素全屏显示。默认元素是.exit()。退出全屏。.toggle(element,options?)。假如目前是全屏,则
本文是深入浅出ahooks源码系列文章的第十五篇,该系列已整理成文档-地址。觉得还不错,给个star支持一下哈,Thanks。本篇接着针对关于DOM的各个Hook封装进行解读。useFullscreen管理DOM全屏的Hook。该hook主要是依赖screenfull这个npm包进行实现的。选择它的原因,估计有两个:它的兼容性好,兼容各个浏览器的全屏API。简单,包体积小。压缩后只要1.1k。大概介绍几个它的API。.request(element,options?)。使一个元素全屏显示。默认元素是.exit()。退出全屏。.toggle(element,options?)。假如目前是全屏,则
本文是深入浅出ahooks源码系列文章的第十一篇,该系列已整理成文档-地址。觉得还不错,给个star支持一下哈,Thanks。本文来讲下ahooks中的useUrlState。通过urlquery来管理state的Hook。useUrlState的特殊在之前的架构篇中我们就提到,ahooks这个项目是一个monoRepo。它的项目管理是通过lerna进行管理的。可以从官网以及源码中看到useUrlState是独立一个仓库进行管理的。也就是你必须单独安装:npmi@ahooksjs/use-url-state-S我认为官方这么做的理由是useUrlState基于react-router的useL
本文是深入浅出ahooks源码系列文章的第十一篇,该系列已整理成文档-地址。觉得还不错,给个star支持一下哈,Thanks。本文来讲下ahooks中的useUrlState。通过urlquery来管理state的Hook。useUrlState的特殊在之前的架构篇中我们就提到,ahooks这个项目是一个monoRepo。它的项目管理是通过lerna进行管理的。可以从官网以及源码中看到useUrlState是独立一个仓库进行管理的。也就是你必须单独安装:npmi@ahooksjs/use-url-state-S我认为官方这么做的理由是useUrlState基于react-router的useL
【干货】超详细!TPC7062封装MQTT协议教程一.功能简介通过将报文分解为16进制格式的字符串(比如:101C00044D51545404C2),再通过TPC-7062进行组包,利用串口服务器的TCP/IP协议栈连接服务器,实现TCP客户端透明传输连接MQTT服务器。实现MQTT协议直连的前提是设备本身具有或者是外接串口联网设备实现,比如笔者所使用的TPC7062是不具备TCP/IP协议栈的纯串口控制屏,可通过连接亿佰特公司所生产的串口服务器(NB114)实现TCP客户端连接服务器。NB114串口服务器本身就具对MQTT协议进行封装,可直接实现串口设备连接MQTT服务器,本文为了分析MQT