react 基础用法(useMemo)

useMemo这个hooks在react中具有缓存的作用,其表现形式与vue中的计算属性有点类似,可以使用这个hooks 来优化前端性能

使用方法为

js 复制代码
import { FC, useMemo, useState } from 'react';


const UseMemo: FC = () => {
    const [num1, setNum1] = useState(10)
    const [num2, setNum2] = useState(20)
    const [text, setText] = useState('hello')
    console.log(' add text')
    const sum = useMemo(() => {
        console.log('add sum')
        return num1 + num2
    },[num1, num2])
    return <div>
        <p>{sum}</p>
        <p>
            {num1} <button onClick={() => setNum1(num1 + 1)}> add num1 </button>
        </p>
        <p>
            {num2} <button onClick={() => setNum2(num2 + 1)}> add num2 </button>
        </p>
        <div>
            <input onChange={ e => setText(e.target.value)} value={text} type="text" />
        </div>
    </div>
}

export default UseMemo;

当我点击add num1 的时候 console.log(' add text') 和 console.log('add sun') 均会执行,其表现的形式就是 sum 依赖于num1 和 num2 这两个值 如果发生变化,则sum 方法就会执行console.log('add sum') 就会打印,而state 的变化会导致组件发生更新所以 console.log(' add text') 也会执行。 那么当我在输入框中输入值的时候,这个时候也就是text 发生变化console.log('add sum') 不会执行,就是text 不被sum依赖。

相关推荐
燐妤几秒前
前端HTML编程1:初识html
前端·html5
xiaoye3708几秒前
java接口文档工具 swagger2和swagger3对比
java·服务器·前端
tongyiixiaohuang3 分钟前
基于轻易云的数据集成,实现企业系统间灵活对接
java·前端·数据库
哥本哈士奇9 分钟前
Power BI学习笔记第17篇:Power BI Dashboard 常用布局方案推荐
前端·powerbi
军军君0115 分钟前
数字孪生监控大屏实战模板:固体颗粒物监管平台
前端·javascript·vue.js·typescript·前端框架·echarts·less
菜鸟小码25 分钟前
MapReduce 核心思想:分而治之,大数据处理的智慧之源
前端·javascript·mapreduce
前端那点事29 分钟前
Cookie和Token的核心区别(附使用场景,易懂好记)
前端·vue.js
前端那点事32 分钟前
Vue设计模式实战解析:6种高频模式+源码拆解,面试/开发双适用
前端·vue.js
墩墩大魔王丶33 分钟前
VS Code 如何使用 DeepSeek
前端
木斯佳34 分钟前
前端八股文面经大全:TME QQ音乐前端二面(2026-04-22)·面经深度解析
前端