前端技术文章
-
Vue 中的图表、编辑器、地图等第三方实例通常不需要深度响应式。本文说明如何用 shallowRef 只跟踪根引用,把创建、方法调用、视图状态同步和销毁集中到 composable,并区分 triggerRef、markRaw 与普通 ref 的适用边界。246 收藏 -
本文用搜索列表案例拆分 React 中必须立即响应的交互状态与可中断的后台渲染,说明 useTransition、isPending、受控输入、异步更新和 Suspense 的正确边界。112 收藏 -
Vite 依赖预构建异常通常涉及依赖指纹、node_modules/.vite 与浏览器强缓存三层。本文给出 --force、optimizeDeps 与 monorepo 链接包的顺序化排查方法。451 收藏 -
通过稳定的 id、aria-describedby 和 aria-invalid 关联表单帮助文本与错误提示,说明动态校验、可见状态和复杂内容边界。349 收藏 -
CSS :is() 自身不增加权重,但会采用参数列表中最高 specificity。本文通过计算示例说明 ID 分支如何抬高整条规则,并给出同权重分组、:where()、拆分例外与 cascade layer 的控制方法。327 收藏 -
用 PerformanceResourceTiming 的域名解析、连接和安全连接时间戳拆分 DNS、TCP、TLS 耗时,并处理跨域受限、缓存命中与连接复用导致的零值。108 收藏 -
前端 WebSocket 需要把异常重连和页面离开分成两条路径:异常关闭采用带抖动的指数退避,pagehide 负责主动收尾,pageshow 再按 bfcache 状态恢复,避免定时器泄漏、重复连接和无休止重连。381 收藏 -
讲清 Fetch keepalive 在页面隐藏、跳转或关闭前发送小请求的写法、64 KiB 限制、幂等设计,以及与 sendBeacon 的选择边界。291 收藏 -
用一个可渐进落地的组件案例说明 CSS @scope 迁移:确定根节点与下边界、保留旧规则回退、处理层叠邻近度与继承,并按浏览器支持范围清理历史选择器。294 收藏 -
SPA 接入 View Transition API 时,动画应该是渐进增强而不是状态更新的前置条件。本文用同一更新回调处理能力检测、减少动态效果、焦点恢复和 updateCallbackDone 边界。142 收藏 -
FormDataEvent 会在表单数据条目构造完成后暴露同一个 FormData 对象。本文用一个原生 JavaScript 小项目演示如何统一补充、替换和删除字段,并处理 submitter、成功控件、fetch multipart 边界与取消提交等关键边界。288 收藏 -
对比 requestSubmit 与 form.submit 的原生校验、submit 事件、提交按钮语义和兼容边界,给出自定义按钮、异步确认与直接提交场景的选择清单。392 收藏 -
scheduler.yield 能把主线程长任务切成多个 continuation,并在 postTask 内继承优先级。本文给出时间预算切片、取消处理与兼容降级的完整写法。110 收藏 -
scroll-timeline 可以把滚动容器从起点到终点的位置映射为关键帧进度。本文用阅读进度条给出最小配方,解释命名时间轴、scroll() 变体、常见失效原因与渐进增强写法。251 收藏 -
IntersectionObserver 的 scrollMargin 会扩展 root 内嵌套滚动容器的裁剪边界,适合处理轮播、虚拟列表和懒加载的提前观察。本文说明它与 rootMargin、threshold 的分工,以及重建观察器和兼容性回退方法。380 收藏