如果现在让你优化一个频繁渲染的列表组件,不允许使用虚拟滚动,你能想到哪些优化方案?
考察说明
考察前端渲染性能优化的广度与深度,以及对渲染原理的理解
回答思路
- 能列举组件层面优化,如 memo、shouldComponentUpdate、React.memo
- 涉及数据层面优化,如减少更新频率、批量更新、数据缓存
- 考虑渲染逻辑优化,如 key 稳定性、避免创建新函数/对象、减少 DOM 节点
- 结合浏览器渲染管线,说明减少重排/重绘的手段,如 CSS containment、transform
- 能权衡各方案的成本和适用场景,而不只是罗列技术名词