当前位置: 首页 > news >正文

React里面useMemo和useCallBack的区别

useMemo 和 useCallback 接收的参数都是一样,第一个参数为回调,第二个参数为要依赖的数据。

相同部分:都是依赖数据发生变化,才会去更新缓存数据

不同部分:

useMemo缓存的是二次计算的数据,主要用于缓存计算结果的值,跟vue里面的computed大致相同的作用,这样避免组件重新渲染的时候,再重新执行整个函数,导致之前的二次计算也会重新执行一次

示例:

import { useMemo, useState } from 'react'export default function () {const [num, setNum] = useState(0)const [val, setVal] = useState("");const countNum = useMemo(function getCount() {console.log("getCount函数调用了")return num+ 100;},[num])return(<div><h1>总数:{ countNum }</h1><button onClick={() => setNum(num+ 1)}>+1</button><input value={val} type="text" onChange={e=>setVal(e.target.value)} /></div>)
}

useCallBack计算结果是函数, 主要用于缓存函数,应用场景如: 需要缓存的函数,因为函数式组件每次任何一个 useState 的变化,整个组件都会被重新刷新,一些函数是没有必要被重新刷新的,此时就应该缓存起来,提高性能,和减少资源浪费。

示例看我之前的这篇文章:react组件渲染性能优化之函数组件-useCallback使用-CSDN博客

http://www.lryc.cn/news/356101.html

相关文章:

  • css 渐变色边框
  • prompt提示词:如何让AI帮你提一个好问题
  • 若依ruoyi-vue element-ui 横向滚动条 动态横向滚动条
  • CET-4 听力高频词
  • ARM鲲鹏920-oe2309-caffe
  • 这款网站测试工具,炫酷且强大!【送源码】
  • 成功案例(IF=7.4)| 代谢组+16s联合分析助力房颤代谢重构的潜在机制研究
  • 【LeetCode:496. 下一个更大元素 I + 单调栈】
  • 软考案例题总结
  • 第二证券炒股知识:股票破发后怎么办?
  • Angular中,@HostListener装饰器
  • lammps案例:reaxff势模拟Fe(OH)3高温反应过程
  • 基于springboot实现政府管理系统项目【项目源码+论文说明】
  • 5.28_Java语法_运算符,接收键盘数据
  • 【数据分析】Numpy和Pandas库基本用法及实例--基于Japyter notebook实现
  • 【网络协议】应用层协议HTTPS
  • java nio FileChannel堆内堆外数据读写全流程分析及使用(附详细流程图)
  • 微服务架构-分支微服务设计模式
  • 关于Vue本地图片转file传到后端服务器(不通过组件上传)
  • CCF20240302——相似度计算
  • C++的第一道门坎:类与对象(二)
  • C语言与内存息息相关的重要概念有哪些?
  • 【chagpt】广泛使用API之前:考虑成本和数据隐私
  • 六月后考研如何备考看这一篇就够了
  • Linux主机连接腾讯云服务器详细配置
  • 数字化工厂怎么收集,处理数据?
  • OOM不会导致JVM退出
  • C++学习日记 | LAB 6 static library 静态库
  • 他用AI,抄袭了我的AI作品
  • 力扣刷题--2956. 找到两个数组中的公共元素【简单】