假设我们有一个父组件和多个功能子组件。我想清楚地知道父母是否重新渲染孩子是否重新渲染。
在阅读了几篇文章后,我了解到有 3 种方法可以检测重新渲染。(如果有更多方法,请告诉我。)
1.console.log
在子组件中放置一个。
2. 在设置中使用 Chrome 油漆闪烁选项。
3. 使用 React 开发工具
所有这些方法是否正确知道组件是否真的重新渲染?因为它似乎无法与 React.memo 一起正常工作。
当我用 React.memo 包装子组件时,它不会打印console.log
,当父组件重新渲染时这是正确的。但是仍然使用 chrome 和 react 开发工具突出显示子组件,就像它重新渲染一样。
CodeSandbox:https ://codesandbox.io/s/bold-cloud-iv0rv (如果我们添加一辆新车,静态组件仍然以绿色突出显示,但根据备忘录,它不应重新渲染。)
现在我怀疑,是油漆闪烁不能正常工作还是 React.memo 有问题?