why-did-you-render的步骤。
设置why-did-you-render
步骤1:在您的应用项目中安装why-did-you-render
why-did-you-render可以为您的项目增加一款至关重要的调试工具,有助于识别React组件中不必要的重新渲染,从而优化应用的性能。
运行该命令后,您应该可以看到在devDependencies部分下方,why-did-you-render程序包已添加到您的package.json文件。程序包文件会添加到项目目录中的node_modules文件夹。
步骤2:在应用的babel.config.js中添加why-did-you-render插件
将以下配置添加到应用的babel.config.js:
why-did-you-render程序包兼容。
步骤3:创建wdyr.tsx文件
why-did-you-render设置中央配置,从而能够初始化具有特定设置的库,并控制其在整个应用中的行为。
wdyr.tsx文件是用于配置why-did-you-render跟踪行为的入口文件。
trackAllPureComponents配置仅支持跟踪React纯组件。
要跟踪应用代码中的其他组件,请将组件的whyDidYouRender设置为true。
示例:
步骤4:将wdtr.tsx导入到应用的index.js中
why-did-you-render能够正确设置其挂钩,以跟踪整个应用中的组件渲染。
步骤5:在Debug(调试)模式下运行您的应用,然后检查why-did-you-render日志
- 在调试模式下运行您的应用。有关说明,请参阅设置和使用Vega Studio。
- 在应用中执行滚动浏览等操作。
- 检查出现在应用日志中的
why-did-you-render日志。要查看应用日志,请参阅查看日志。 - 分析重新渲染的组件进行渲染的原因。
- 修复潜在的根本原因,以消除不必要的重新渲染。
why-did-you-render日志输出示例
Grid组件重新渲染的原因是useEffect挂钩中发生了一次更新。
要解决Grid组件的重新渲染问题,请移除useEffect挂钩中不必要的状态更新。

