useMemo主要用来解决使用React hooks产生的无用渲染的性能问题,用来做缓存用。

useMemo使用场景,比如有两个变量(依赖项),只需要在其中一个变量变化时发生变化,否则拿缓存的值;或者其中另一个变量的变化不需要引起重新计算时使用。该属性类似于vue中的计算属性,有返回值。

useMemo使用:
useMemo(fn, arr)第一个参数为函数。第二个参数为依赖项,并且其值发生改变,才会多次执行执行,否则只执行一次,如果为空数组[],fn只执行一次。

import React, {useState, useMemo} from 'react'export default function UseMemoTest() {const [text, setText] = useState('')const [data, setData] = useState([{id: 1, name: 'test1111'},{id: 2, name: 'test222'},{id: 3, name: 'test334'},{id: 4, name: 'test444'},])const handleChange = (e) => {setText(e.target.value);}const getList = useMemo(() => {return data.filter(item => {if(item.name.includes(text)) {return item}});}, [text]);return (<div style={{marginTop: 20}}><input type="text" onChange={(e) => handleChange(e)}/>{getList.map(item => <div key={item.id}>{item.name}</div>)}      </div>)
}

React中useMemo的简单使用相关推荐

  1. react中试用leaflet简单起步

    写在最前边,前不久的一个项目中要做一个地图的数据可视化需求.项目中用到了 Leaflet.项目到现在功能已经基本实现,现在写下来做一下记录.Demo是用 create-react-app 搭建的.源码 ...

  2. React中useMemo函数【调优的不二选则】的使用及一看就会的案例(个人觉得很详细了,而且包含了很多知识点呀)

    useMemo 记忆组件: 如果你学过vue,应该知道computed(计算属性)吧,没错,它就是和计算属性一样一样滴功能.但是其原理是:它会执行第一个函数并将函数执行的结果返回给你.那为什么它是调优 ...

  3. 如何在react中简单应用echart,及echart特性

    一分钟学会在react中简单应用echart 1.首先安装echart.echarts-for-react npm install echarts --save npm install --save ...

  4. 【TS学习和在react中的简单应用】

    TS学习和在react中的简单应用 1. ts基础 1.1 ts基本类型 1.2 数组 1.3 对象 1.4 函数 1.5 class类 1.6 枚举enum 1.7 typeof 1.8 TS中的泛 ...

  5. React中的Hooks详解

    1.概述 React官方网站原文:Hooks 是一项新功能提案,可让您在不编写类的情况下使用 state(状态) 和其他 React 功能. 我总结了下使用Hooks的理由: 1.解决class中的代 ...

  6. react中的useRef

    前言 react hooks 是 React 16.8 的新增特性. 它可以让我们在函数组件中使用 state .生命周期以及其他 react特性,而不仅限于 class 组件.react hooks ...

  7. react中纯函数_如何在纯React中创建电子邮件芯片

    react中纯函数 by Andreas Remdt 由Andreas Remdt 如何在纯React中创建电子邮件芯片 (How to create email chips in pure Reac ...

  8. react构建淘票票webapp,及react与vue的简单比较。

    前言 前段时间使用vue2.0构建了淘票票页面,并写了一篇相关文章vue2.0构建淘票票webapp,得到了很多童鞋的支持,因此这些天又使用react重构了下这个项目,目的无他,只为了学习和共同进步! ...

  9. boost::unorder_map如何插入元素_「React」如何在React中优雅的实现动画

    最简单的动画组件实现 动画的本质,无非就是一个状态样式到另一个状态样式的过渡.最简单的动画组件,我们只需要指定两个状态的样式(进入的样式,离开的样式),以及一个开关(控制状态),即可完成. codep ...

最新文章

  1. Codeforces Round #369 (Div. 2)
  2. java 字符串编程题,JAVA 基础编程练习题7 【程序 7 处理字符串】
  3. 日常生活小技巧 -- 玩转 PDF
  4. php代码样式,PHP代码样式
  5. 计算机网络知识点总结(第六版,谢希仁)
  6. 关于python的单线程和多线程
  7. java map 实现 序列化,MapReduce序列化
  8. c++ vs release没有exe_未来安全 | 第一次Geant4培训总结 | 有没有你关注的问题呢?...
  9. java获取异常堆栈详情
  10. 【干货】数字经济时代的新思考:企业如何进行数字化转型及如何称为数据驱动型企业?...
  11. Android-怎么配置ADT配置了没有安卓图标怎么办
  12. slf4j+logback使用
  13. Atitit 安全审计法 目录 1. 安全审计数据结构 1 2. Expame 提现流程 1 2.1. 获取提现钱的数据余额 1 2.2. 扣去余额 1 2.3. 开始safe log 2 2.4.
  14. Shell脚本 小程序演示
  15. 在线旅游网站发展趋势分析
  16. python 区块链 文件共享_Python实现自己的分布式区块链视频教程
  17. 交流电过零点检测电路总结
  18. 删除服务器tomcat上项目,删除tomcat服务器
  19. 那一年,我进传销了……(作者亲身经历)
  20. 阿里云服务器价格是多少,阿里云服务器价格查询的三种方式

热门文章

  1. openssl之C++实现私(公)钥生成、转换
  2. 网络黑客攻防学习平台之基础关第十一题
  3. 黑苹果 win10双系统问题
  4. (转)用javamail发送带附件的邮件
  5. 迷宫系列(四)其他细节和DFS的实际应用(重要)
  6. 工业计算机应用与plc论文,PLC在工业自动化控制的应用-工业工程论文-工业论文.docx...
  7. php的ct表现,图文详解丨气胸的影像学表现
  8. 不希望你懈——写给宫岩
  9. rust php 扩展,在PHP程序中使用Rust扩展的方法
  10. 彭光哲:8.14黄金走势分析技术面反弹美元指数支撑金价走高看涨千八