分类 · 文章

前端技术

前端框架、工程化、性能优化、跨端开发

共 99 篇文章

并发模式:让渲染学会排队、插队和让路

Day15 拆过 Fiber,说它让渲染"可中断";Day16 顺着 Fiber 讲了 Hooks 的跨渲染记忆从哪来。今天把"可中断"三个字兑现成真实产品能力,也就是 React 18 的并发特性。官方叫 Concurrent Featu…

创建 SVG 图标预览页面:从零实现到解决 CORS 问题

创建 SVG 图标预览页面:从零实现到解决 CORS 问题 问题描述 在项目开发中,我们有一个包含大量 SVG 图标的 icon.js 文件,这些图标以 SVG 的形式存储。为了方便开发团队查看和使用这些图标,我们需要创建一个静态 HTML…

JavaScript闭包的这个坑,我居然今天才爬出来

上周四凌晨,我盯着监控面板上 内存泄漏曲线 的陡峭爬升,终于在一个看似无害的工具函数里揪出了凶手——一个潜伏了三年多的闭包引用。你可能觉得闭包的基础知识早就烂熟于心了,但这个案例会让你重新审视那些"理所当然"的代码。 场景复现:内存泄漏的幽…

同样用 Element Plus,为什么你的后台总有一股“模板味”?

一个后台页面,功能都做完了:筛选能查,表格能翻页,弹窗能保存。 但你盯着它看,总觉得差点意思。 查询是主按钮,新增是主按钮,每一行又摆着三四个蓝色操作;姓名、账号、状态、时间一样醒目;筛选一个框,表格一个框,外面再套一个框。 单独看,每个组…

从零实现一个带虚拟滚动的 Select

从零实现一个带虚拟滚动的 Select:原理、踩坑与 el-select-v2 对比 面试时被问"你封装过什么组件",只会答"封装过 table、form"是不够的。 这篇文章记录一个真正能体现高级前端水准的作品:带虚拟滚动的下拉选择器。 …

JavaScript的this指向问题又让我加了个班

凌晨1点,我盯着屏幕上诡异的Cannot read property 'xxx' of undefined错误,第六次刷新页面后终于意识到:又是this的锅。那天本可以准时下班,却因为一个嵌套回调中的this指向问题,硬生生调试到深夜。如果…

Hooks 原理:把"每次重跑的函数"变成"有记忆的组件"

Day15 把 Fiber 架构拆开了:渲染变成了可中断的工作队列,状态藏在双缓存树里。今天在这个地基上回答一个更贴近日常的问题:函数组件每次渲染都会整个重新执行一遍,那 useState 保存的状态到底存在哪里?凭什么函数执行完就"消失"…

Codex 只读审查的权限边界:任务文件是谁写的?

Codex 只读审查的权限边界:任务文件是谁写的? 只读审查,任务文件为何更新 一次 Codex 审查没有修改仓库代码,却留下了新的任务 JSON。看到这种现象,先别把它判成“只读沙箱失效”。更值得追问的是:文件由哪个进程写入,read-o…

把地图数据画出来:Leaflet + 搜索 API 做商家分布图

做本地商家调研时,我拿到过一份 200 行的表格:商家名、评分、地址、排名。表格里看半天,看不出「哪片区域密、哪片区域空、我的店被谁围着」。后来把这些点画到地图上,问题十秒内一目了然——这就是地图可视化的价值:坐标数据放在表里是数字,放在地…

百万行PR也能顺滑滚动,GitHub靠的不是再加一层虚拟列表

超大代码评审卡顿,通常不是“行数太多”这么简单。GitHub公开的极限样本包含2200个文件、超过100万行改动和400多条行内评论。它真正难处理的是评论高度会随图片、折叠块和回复框变化。GitHub的核心判断很值得复用:确定高度与未知高度…