memo与useMemo 的区别 react

148 阅读1分钟

memo与useMemo 的区别 react

先说结论:

  • React.memo() 是一个高阶组件,我们可以使用它来包装我们不想重新渲染的组件,除非其中的 props 发生变化

  • useMemo() 是一个 React Hook,我们可以使用它在组件中包装函数。 我们可以使用它来确保该函数中的值仅在其依赖项之一发生变化时才重新计算

React.memo() 是一个高阶组件 (HOC),它接收一个组件A作为参数并返回一个组件B,如果组件B的 props(或其中的值)没有改变,则组件 B 会阻止组件 A 重新渲染 。

而与之不同的是:useMemo 是一个hook,它的理念其实和memo差不多,而useMemo的第二个参数是一个数组,通过这个数组来判定是否更新回调函数