当前位置: 首页 > 知识库问答 >
问题:

跟踪React组件重新呈现的原因

戚翰飞
2023-03-14

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

共有1个答案

须鸿祯
2023-03-14

您可以使用React Devtools探查器工具轻松地检查组件(重新)呈现的原因。无需更改代码。

https://reactjs.org/blog/2018/09/10/internotion-the-react-profiler.html

您需要启用探查器:

 类似资料:
  • 在我点击提交按钮后,我如何使页面刷新或更新页面中的内容?我尝试将(我知道不是React方式,具有相同的结果)放入提交函数(、)中,但POST请求没有得到响应 OpenTickets.js CardConversation.jsx

  • 问题内容: 我是新来的世界,我有这样的话: 然后单击,您将被打印在控制台上。现在将行更改为: 现在点击该按钮,我希望它会被渲染。但事实并非如此。 我不确定为什么会这样。请注意,我在方法中有上面的代码。 问题答案: 您可能希望有一个状态组件,该状态组件在单击按钮之后在按钮旁边显示另一个组件。您需要做的就是跟踪按钮是否被单击:

  • 在处有一个react-apollo GraphQL连接的用户组件,它请求用户列表。 如果没有提供令牌,服务器将返回身份验证错误;该组件将呈现到路由;成功登录后,login组件将保存令牌并重定向回来。 Users组件包装器启动graphql请求并呈现“Loading...”同时。当graphql请求成功时,它将重新发送并显示用户,yay. 如果从该页注销,中的注销组件将丢弃该标记,然后重定向回来;U

  • 我是新来的反应。作为一个学习练习,我正在构建一个国际象棋应用程序 我想根据父级中的状态更改子级的DOM。当前,在父级组件的状态变化时,子级组件没有变化。 PS:请忽略任何语法错误。这段代码是实际代码的精简。如果你想看完整的代码,请看这里

  • 我从这里修改了以下组件定义,如下所示。但是,与示例不同的是,每次在组件上移动鼠标时,组件都会重新呈现。 重新渲染非常引人注目: 有人知道为什么会这样吗?