SuperAPI AI 工具集

react-performance

前端与建站

查看项目

更新于 10-15 16:45

技能介绍

用途:针对 React Web 应用进行性能优化,重点解决不必要的重渲染、未优化长列表以及主线程昂贵计算等问题。主要能力:一是记忆化模式,使用 useMemo 缓存数组转换、对象创建和高复杂度计算,使用 useCallback 提供稳定函数引用(避免不稳定依赖,否则适得其反),使用 React.memo 包装接收稳定 props 的组件,必要时提供自定义比较函数。二是列表虚拟化,使用 react-window 的 FixedSizeList 或 VariableSizeList 只渲染可见项,适用于 100 条以上数据、复杂列表项或大量子节点的滚动容器。三是状态选择器优化,如 Zustand 中应使用具体选择器而非整个 store,多值可用 useShallow 浅比较。四是避免重渲染,保持对象/数组与 children 引用稳定,避免向记忆化子组件传内联对象或函数。五是用 lazy 与 Suspense 做代码分割、用 debounce/throttle 控制搜索与滚动、图片懒加载与 Next.js Image、昂贵计算移入 Web Worker。调试可用 React DevTools Profiler、why-did-you-render 或 console.log 检查重渲染。适用场景为列表卡顿、组件频繁重渲染、首屏慢、交互冻结等。限制:未提供具体版本、安装命令或收费信息,部分 API 如 useShallow、why-did-you-render 需相应依赖,实际收益需结合 Profiler 测量。