首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://cloud.tencent.com/developer/article/2754126

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

React 中 useCallback 和 useMemo 到底该不该加?从一次列表卡顿排查说起

上周排查了一个后台管理页面的卡顿问题,页面里有一个 200 行左右的数据表格,每行都渲染了一个带删除按钮的操作列。用户点击任意一行删除时,整个表格重新渲染,肉眼可见卡了半秒。打开 React DevTools 的 Profiler 录制后发现,明明只有一行数据变了,所有 200 行组件都重新执行了 render。团队里有人第一反应是“把事件处理函数用 useCallback 包一下”,也有人提议“整个表格套 React.memo”。但改完发现没什么效果,甚至因为加了一堆依赖数组导致 eslint 警告。后来仔细梳理了 props 传递链路,才发现问题出在一个每天都会踩的细节上:父组件每次 re...

前端如何用 IndexedDB 处理大文件上传的断点续传?

项目里经常遇到需要上传几百兆甚至上 GB 文件的场景,比如视频素材、设计源文件或者数据备份。直接使用 fetch 或者 XMLHttpRequest 上传,一旦网络波动、页面刷新或者用户误关标签页,整个上传就白费了,只能从头再来。常见的解决方案是切片上传配合服务端合并,但切片之后的状态(哪些分片已上传、每个分片的内容)如果只放在内存里,刷新即丢失。IndexedDB 可以在浏览器端持久化存储文件切片和上传进度,让断点续传在客户端真正落地。这篇文章会从切片策略、IndexedDB 存储结构、并发控制以及恢复流程几个角度,给出一个能直接用在项目里的实现思路。

相关文章

发表评论

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册