
5.7 并发特性的性能收益
useTransition / useDeferredValue 不减少工作量——它们改变的是「优先级」,让「昂贵但不紧急的更新」不阻塞「紧急交互(如输入回显)」,从而改善可交互性(INP)。

useTransition / useDeferredValue 不减少工作量——它们改变的是「优先级」,让「昂贵但不紧急的更新」不阻塞「紧急交互(如输入回显)」,从而改善可交互性(INP)。

代码分割(Code Splitting)用「动态 import()」把 bundle 拆成多个 chunk,按路由或按组件的交互时机加载——这是改善首屏加载最有效的手段之一。

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

长列表的性能瓶颈有三层——React 渲染(几千个组件函数)、DOM 数量(几千个节点)、布局与绘制;对应手段是「稳定 key + 行组件 memo + 稳定处理函数 + 虚拟滚动 + 避免渲染中重算」。

减少重渲染的优先级排序是——「状态下移 → 组件拆分 → children 透传 → 引用稳定 + memo → 外部 store 选择器」;结构性手段优先于工具性手段。

这两个 Hook 是「引用稳定工具」,它们的成本(比较依赖 + 保存缓存 + 维护依赖数组)在「轻量计算」上会超过收益——只在「配合 memo」或「计算确实昂贵」时才值得用。

React.memo 是一个「高阶组件」,它对 props 做浅比较(Object.is 逐项),相等就跳过该组件的重渲染——但它只在所有 props 引用都稳定时才生效,而且拦不住 Context 更新。

优化前必须先测量——用 React DevTools Profiler 找到「哪些组件渲染次数多、耗时长、为什么渲染」,再用浏览器 Performance 面板看非 React 的部分(布局、绘制、长任务)。
最新评论
读过书不知道欧·亨利的人少。教科书上选文有
这小生活不错呀
不错,必须顶一下!
看着你还在坚持,很好
看来忙了也没时间更新博客了
NIce。学习了。。。。
网站不错!!!!
简洁实用,好文章!