是否有系统的方法来调试导致组件在React中重新呈现的原因?我放了一个简单的控制台.log()查看它渲染了多少次,但我很难找出是什么导致组件渲染多次,即在我的情况下(4次).是否有工具显示时间线和/或所有组件树渲染和顺序?

推荐答案

可以使用React Devtools profiler工具判断组件(重新)渲染的原因.无需更改代码.参见react团队的博客帖子Introducing the React Profiler.

首先,进入设置cog>;探查器,然后 Select "记录每个组件渲染的原因"

React Dev Tools > Settings

Screenshot of React Devtools profiler

Reactjs相关问答推荐

NextJs Form不允许我输入任何输入,

无法在列表中看到文本

Reaction路由的问题-在Effect使用API调用响应设置状态之前呈现页面

404使用GitHub操作部署Next.js应用程序时出错

根据另一个Select中的选定值更改Select中的值

Redux Provider Stuck甚至彻底遵循了文档

React,React Router,Joy UI:如何在导航离开和返回后禁用snackbar重新出现?

试图从Amazon-Cogito-Identity-js模拟CogitoUser.authateUser,并将其获取为未定义的S

如何在物料界面react 的多选菜单中设置最大 Select 数限制

React,当我调用handleSubmit()函数时,我正在将application/json和multiform/data中的数据发送到后端,但student_image中没有数据:null

我在Route组件上使用元素属性,这样就不需要ID了吗?

React-apexcharts 中的 Y 轴刻度不会动态更新符号

在React中使用if条件时如何更改Tailwind中元素的文本 colored颜色

React Wordpress Apache 在索引之外重新加载 -> 未找到页面

React Router 6 点击链接在 React 18 应用中打开 flickr 页面

React - 将一个充满空值的无限大小的数组存储在 ref 中是否可以,或者我应该重置数组吗?

使用 nextjs App Router 在动态客户端进行服务器端渲染

响应式媒体 React Tailwind

组件焦点上的 MUI 更改栏 colored颜色

Axios 删除在带有授权令牌的react js 中不起作用