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

做商城网站外包网络广告推广平台

做商城网站外包,网络广告推广平台,上海人才中心,网站做优化按点击收费1. useMemo语法 const memoizedValue useMemo(() > computeExpensiveValue(a, b), deps); 1. 传入一个函数进去,会返回一个 memoized 值,需要注意的是,函数内必须有返回值; 2. 第二个参数会依赖值,当依赖值更新…

1. useMemo语法

const memoizedValue = useMemo(() => computeExpensiveValue(a, b), deps);

1. 传入一个函数进去,会返回一个 memoized 值,需要注意的是,函数内必须有返回值;

2. 第二个参数会依赖值,当依赖值更新时,会从新计算;

2. useMemo优化示例

我们定义了一个total1函数,内部对一个数组进行求和,通过 reduce 计算总和,经过测试发现点击按钮后,只会执行 total1 ,不会执行 total2,假设total2计算量巨大,就会造成内存的浪费,通过 useMemo 可以帮我们缓存计算值。

import {useMemo, useState } from "react"function App() {const [count,setCount] = useState(0);//  正常的计算方法const total1 = ()=>{// 页面渲染时会重新输出console.log('total1......');const list = [1,3,5,7,9];// 数组求和return list.reduce((prev,current)=>prev+current,0)};// 加了缓存的计算const total2 = useMemo(()=>{// 页面重新渲不会再次输出console.log('total2......');const list = [1,3,5,7,9];// 数组求和return list.reduce((prev,current)=>prev+current,0)},[]);// 点击按钮测试输出const hindleClick = ()=>{setCount(count+1);};return (<div><p>Count:{count}</p><button onClick={hindleClick}>按钮</button><p>Total1:{total1()}</p><p>Total2:{total2}</p></div>)
}export default App

3. useCallback语法

useCallback(callback, deps)

1. useCallback 接收 2 个参数,第一个为缓存的函数,第二个为依赖值;

2. 主要用于缓存函数,第二次会返回同样的结果;

4. useCallback优化示例

定义一个子组件在父组件中调用,当父组件更新重新渲染时,子组件也会重新渲染。然后我们对子组件加了memo对传入的参数进行检测,同时对传入子组件的方法使用useCallback进行缓存,这样当父组件在更新时,缓存的方法没有发生变化,子组件通过memo发现传入的方法没有发生改变,也就不会重新渲染,以此提高了性能。

import {memo,useCallback,useState } from "react"
function App() {const [count,setCount] = useState(0);// 父组件点击更新const hindleClick = ()=>{setCount(count+1);};// 缓存点击方法const handleChildClick = useCallback(()=>{console.log("子节点点击了")},[]);return (<div><p>Count:{count}</p><button onClick={hindleClick}>按钮</button><Child onClick={handleChildClick}></Child></div>)
}// 检测传入的方法是否发生变化
const Child = memo(({onClick}:any)=>{console.log('child......')return <div>我是子节点<button onClick={onClick}></button></div>
})export default App

5. useMemo和useCallback的区别

他们都用于缓存,useCallback 主要用于缓存函数,返回一个缓存后的函数,而 useMemo 主要用于缓存值,返回一个缓存后的值。

http://www.tj-hxxt.cn/news/68850.html

相关文章:

  • 汕头模版网站建设搜索引擎排名2020
  • 公司的网站建设 交给谁做更好些安阳seo
  • 金融理财网站建设方案seo数据
  • 做新媒体应该关注什么网站宣传推广方案范文
  • 抖音seo排名优化公司seo排名
  • 如何做招生网站搜索优化引擎
  • 建网站那种服务器好b站视频推广网站动漫
  • 长沙好的网站建设品牌谷歌优化的最佳方案
  • 太原网站建设设计怎样注册自己网站的域名
  • 用.cc做网站官网可以吗seo专员的工作内容
  • 新风向网站建设2023重大新闻事件10条
  • 门户网站建设模板网站seo快速排名优化的软件
  • 门户网站建设投资网络推广怎么收费
  • 菏泽住房和城乡建设局网站班级优化大师功能介绍
  • 免费网站模板代码app推广代理
  • 网页设计价格影响因素seo公司seo教程
  • 美篇在哪个网站做的培训机构在哪个平台找
  • 广东手机网站制作价格百度知道首页官网
  • 重庆网站建设哪家公司哪家好小米市场营销案例分析
  • 想做个网站不知道做什么seo关键词优化推广报价表
  • 全国村级网站建设宁波网络营销策划公司
  • 鹤壁网站建设兼职搜索引擎优化概述
  • 个人网站模板怎么做手机端seo
  • 网站建设基础竞价外包推广专业公司
  • 男人和女人做哪个网站合肥seo排名优化公司
  • 做英语四级题的网站市场调研报告万能模板
  • 做效果图常用的网站网络广告策划书模板范文
  • 情侣博客网站模板考研最靠谱的培训机构
  • 滚屏加载 wordpress搜狗搜索引擎优化论文
  • 做网站需要买什么百度搜索高级搜索技巧