
8.10 Web Worker / SharedWorker / OffscreenCanvas
Worker 的价值是「把 CPU 密集的工作从主线程搬走」——它直接改善 INP(交互延迟) 与「动画流畅度」;真正的工程难点是「通信成本(结构化克隆)、生命周期(池化复用)、以及构建打包」这三件事。

Worker 的价值是「把 CPU 密集的工作从主线程搬走」——它直接改善 INP(交互延迟) 与「动画流畅度」;真正的工程难点是「通信成本(结构化克隆)、生命周期(池化复用)、以及构建打包」这三件事。

Feature Flag 的价值是「把『发布代码』与『放出功能』解耦」——所以它的核心不是「一个开关」,而是「一致的灰度分桶(同一用户稳定在同组)+ 本地快速求值 + 拉取失败时的兜底 + A/B 的曝光记录」,而最大的风险是「开关变技术债」。

压缩、裁剪、加水印、抠图、拼接都在本地完成。不限张数、不限次数,图片不会传到服务器。

埋点最难的不是「怎么发一条数据」,而是「发得对(事件与属性有规范)、发得准(曝光判定与去重)、发得全(不漏)、发得不重(不重复)、丢得起(上报失败可重试)、合规(不采集隐私)」——所以埋点是一个「数据采集系统」,而不是「一个 track 函数」。

前端错误监控的核心是「把『压缩后的一行报错』还原成『能定位到源码的行为链路』」——所以四件事缺一不可:全局捕获(含跨域脚本)→ Sourcemap 还原 → 指纹分组去重 → 面包屑/上下文(用户当时在干什么)。

前端错误有三类来源——React 渲染错误(用 ErrorBoundary)、全局 JS 运行时错误(window.onerror / error 事件)、未处理的 Promise 拒绝(unhandledrejection);三者都要接上,并做「去重、采样、源码映射、上下文补充、可靠上报」。

StrictMode 在开发环境故意「双调用组件函数」与「Effect 挂载 → 卸载 → 再挂载」——目的是暴露「渲染不纯」与「清理缺失」,是并发渲染对代码的硬性要求,不是 bug。

Suspense 的语义是「在等待某件事完成时显示 fallback」——目前最常用于「懒加载(lazy)」,同时是「并发渲染 + 流式 SSR + React 19 的 use」的基础设施。

Error Boundary 是 React 的「组件级错误边界」——它捕获子树在渲染过程中抛出的错误,显示降级 UI 而不是让整个应用白屏;只能用类组件实现(因为需要 componentDidCatch)。

凡是「建立了某样东西」的 Effect,都必须「撤销它」——事件监听、定时器、订阅、Observer、第三方实例、请求、全局样式,漏掉任何一个都会导致重复回调、内存泄漏或状态错乱。

useEffect 的语义是「把组件与某个外部系统同步」——能不用就不用;派生数据直接算、事件逻辑写在事件处理里、重置状态用 key,只有「真的在与外部系统同步」时才用 Effect。
最新评论
读过书不知道欧·亨利的人少。教科书上选文有
这小生活不错呀
不错,必须顶一下!
看着你还在坚持,很好
看来忙了也没时间更新博客了
NIce。学习了。。。。
网站不错!!!!
简洁实用,好文章!