陌上人如玉
公子世无双

05-性能优化 第2页

React 性能优化实战:React.memo、useMemo 边界、减少重渲染、虚拟列表、代码分割、Context 治理、构建体积与网络优化、Profiler 与 Web Vitals 归因。
5.7 并发特性的性能收益-陌上寒

5.7 并发特性的性能收益

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

赞(0)陌上寒陌上寒阅读()去评论
5.6 代码分割与懒加载-陌上寒

5.6 代码分割与懒加载

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

赞(0)陌上寒陌上寒阅读()去评论
5.5 列表优化-陌上寒

5.5 列表优化

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

赞(0)陌上寒陌上寒阅读()去评论
5.4 减少重渲染-陌上寒

5.4 减少重渲染

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

赞(0)陌上寒陌上寒阅读()去评论
5.3 useMemo 与 useCallback 的边界-陌上寒

5.3 useMemo 与 useCallback 的边界

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

赞(0)陌上寒陌上寒阅读()去评论
5.2 React.memo 与浅比较-陌上寒

5.2 React.memo 与浅比较

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

赞(0)陌上寒陌上寒阅读()去评论
5.1 定位性能问题-陌上寒

5.1 定位性能问题

优化前必须先测量——用 React DevTools Profiler 找到「哪些组件渲染次数多、耗时长、为什么渲染」,再用浏览器 Performance 面板看非 React 的部分(布局、绘制、长任务)。

赞(0)陌上寒陌上寒阅读()去评论