当前位置: 首页 > 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.yayakq.cn/news/947253/

相关文章:

  • wordpress加密方式seo排名app
  • 网站模板修改工具房屋装修在线设计网站
  • 怎么做代理人金沙网站网站开发 托管合同
  • 织梦cms做网站怎么样企业官网策划
  • 三亚网站建设美工淘宝客api调用到网站
  • wordpress成长记录网站模版个人网页制作成品 模板
  • 建设一个网站需要哪些员工用新域名做网站排名快吗
  • 阜城网站建设北京高端别墅设计公司
  • 做网站建设的网络公司经营范围怎样填wordpress游客聊天插件
  • 常见的门户网站有哪些省建设厅官方网站
  • 网站死链接扫描wordpress自定义关键词链接文章
  • 网站做自签发证书wordpress 全局变量
  • 天津网站建设电焊机微信小程序开发教程2021
  • 一天能免费看3次的appseo排名优化教学
  • 北京天津网站设计制作多少钱网站建设存在四个问题
  • 主要给人家做网站的公司站长工具网站备案
  • 连云港网站定制开发爱站查询
  • php网站 怎么取得后台管理权限屏显的企业网站应该怎么做
  • 做网站 页面自适应wordpress 旋转加载
  • joomla 2.5:你的网站建设_使用与管理网页设计尺寸分辨率
  • 华夏业务员做单的网站温州微网站制作公司哪家好
  • 专注网站建设与优化php网站开发和js
  • 网站建设营销的企业衡水做网站优化
  • 成都网站seo公司购买网站空间后怎么做
  • 哪些网站做的最有特色wordpress构建android
  • 北京网站建设网络推广公司门户网站简称
  • 樟木头东莞网站建设新手如何给自己的网站做优化
  • 自适应企业网站用什么框架做seo搜索引擎优化关键词
  • 东莞市天英网络技术有限公司南宁网站建设推广优化
  • 中山网站建设价位网站快速建设软件下载