高级前端
react
【Q612】React.memo 中是如何实现性能优化的

React.memo 中是如何实现性能优化的

Issue 欢迎在 Gtihub Issue 中回答此问题: Issue 630 (opens in a new tab)

Author 回答者: shfshanyue (opens in a new tab)

当 React 中一个组件进行更新时,它的所有子组件都会进行重新渲染,即便子组件的 props 并未发生任何改变。

React.memo 对子组件默认使用浅比较对比前后两次 props 的变更,若未发生变更则不会重新渲染,因此提高了性能。

可参考以下两个示例,加深理解:

  1. React.memo 和性能优化 (opens in a new tab)。当某个组件状态更新时,它的所有子组件树将会重新渲染。
  2. React.memo 和 React.useMemo 是如何优化性能的 (opens in a new tab)