React组件为什么要渲染



我有一个相当复杂的React应用程序。我面临的问题是,当导航栏中的链接被点击时,导航栏会重新呈现。显然,这是一个迹象,表明该应用程序正在进行不必要的渲染。导航条存在于";标题";组成部分这个";标题";应该修复。但它被打了很多次电话。建议使用什么方法来判断组件渲染的原因。我能想到很多原因,我想开始消除它们,以减少不必要的渲染。组件可能是

  • 更改内部状态(通过useState(
  • 使用效果
  • 认购";外部";状态通过useSelect
  • 更换道具

可能还有其他人。如何告诉组件渲染的原因?

(显然(没有简单的方法来判断组件渲染的原因,可能是因为它本质上需要深入比较(至少涵盖所有情况(,这可能是一项昂贵的操作。

但是有很多工具和解决方法。

  • 使用React dev工具(有帮助,但没有显示为什么有东西渲染(
  • 临时添加useEffect以观察特定值
  • 编写一个可以同时观察几个特定值的钩子
  • 安装一些节点包
  • 检出trace-why-a-react-components-is-re-rendering

相关内容

  • 没有找到相关文章

最新更新