在 React 中,memo 和 useMemo 都是用于优化性能的工具,目的是避免不必要的重新渲染或重复计算。但它们的实现方式和使用场景有所不同。
1. React.memo
React.memo 是一个 高阶组件,用于优化 函数组件 的渲染。当组件的 props 没有变化时,React.memo 会跳过重新渲染该组件。
实现原理
- React.memo 通过 浅比较(shallow comparison)比较前后两次的 props。
- 如果 props 没有变化,React.memo 会返回上一次的渲染结果,而不是重新渲染组件。
使用场景