React.Memo和useMemo的区别?

简介: React.Memo和useMemo的区别?

前言

hello world欢迎来到前端的新世界


😜当前文章系列专栏:react.js

🐱‍👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现错误,感谢大家指出)🌹

💖感谢大家支持!您的观看就是作者创作的动力


React.memo和useMemo是React中两个不同的特性,用于优化组件性能,但它们的作用和使用方式有所不同。


React.memo


  • React.memo是一个高阶函数,用于优化函数组件的渲染性能。
  • React.memo接收一个组件作为参数,并返回一个经过优化的新组件。
  • React.memo会对组件的输入属性进行浅层比较。只有当组件的输入属 性发生变化时,才会重新渲染该组件。如果组件的输入属性没有变化,那么React.memo会直接返回上次渲染的结果,从而避免不必要的渲染。
  • 例如,可以使用React.memo来包装一个组件,以确保它只在输入属性发生变化时才重新渲染。


useMemo


  • useMemo是一个自定义的React Hook,用于在函数组件中进行内存缓存和性能优化。
  • useMemo接收一个工厂函数和一个依赖数组作为参数,并返回一个缓存的值。
  • useMemo会在首次渲染或依赖项发生变化时执行工厂函数,并将结果缓存起来。当下次渲染时,如果依赖项没有发生变化,useMemo会直接返回上次缓存的值,避免重复计算。
  • 例如,可以使用useMemo来缓存一个昂贵的计算结果,以避免在每次渲染时都重新计算。


总结

  • React.memo用于优化组件的渲染性能,避免不必要的重复渲染。
  • useMemo用于在函数组件中进行内存缓存和性能优化,避免重复计算。


后言

创作不易,要是本文章对广大读者有那么一点点帮助 不妨三连支持一下,您的鼓励就是博主创作的动力


目录
相关文章
|
8天前
|
移动开发 前端开发 API
React路由和HTML5 History API有什么区别
【8月更文挑战第11天】React路由和HTML5 History API有什么区别
17 1
|
10天前
|
前端开发 JavaScript 开发者
React组件与JSX之间的区别是什么
【8月更文挑战第9天】 React组件与JSX之间的区别是什么
29 4
|
12天前
|
前端开发 JavaScript API
React 与 React Native 的主要区别
【8月更文挑战第7天】 React 与 React Native 的主要区别
30 3
|
1月前
|
前端开发 JavaScript 数据格式
react18【系列实用教程】Hooks (useState,useReducer,useRef,useEffect,useContext,useMemo,useCallback,自定义 Hook )
react18【系列实用教程】Hooks (useState,useReducer,useRef,useEffect,useContext,useMemo,useCallback,自定义 Hook )
38 1
|
2月前
|
JavaScript 算法 前端开发
vue和react的diff算法的区别
vue和react的diff算法的区别
|
1月前
|
缓存
react18【系列实用教程】useMemo —— 缓存数据 (2024最新版)
react18【系列实用教程】useMemo —— 缓存数据 (2024最新版)
25 0
|
2月前
|
JavaScript 前端开发
react的参数值和Vue的参数值有什么区别
react的参数值和Vue的参数值有什么区别
|
2月前
|
XML JavaScript 前端开发
vue和react的区别
vue和react的区别
26 0
|
2月前
|
XML JavaScript 前端开发
Vue和React的区别
Vue和React的区别
|
3月前
|
前端开发 JavaScript API
Vue.Draggable 和 React Beautiful DND 有什么区别
Vue.Draggable 和 React Beautiful DND 是两个用于 Vue.js 和 React 的拖拽排序库。Vue.Draggable 提供 Vue 指令,适合 Vue 应用,支持列表排序和自定义数据处理,具有多种事件回调和配置选项。React Beautiful DND 则为 React 提供组件,能处理复杂拖拽场景,通过回调函数更新状态,配置选项包括限制拖拽范围和自定义动画。