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

最新站长seo网站外链发布平台厦门seo排名优化方式

最新站长seo网站外链发布平台,厦门seo排名优化方式,电商搜索关键词,wordpress 所有标签react useCallback与useMemo函数使用与常见问题 useCallback返回一个可记忆的函数,useMemo返回一个可记忆的值,useCallback只是useMemo的一种特殊形式。 那么这到底是什么意思呢?实际上我们在父子通信的时候,有可能传递的值是一…

react useCallback与useMemo函数使用与常见问题

useCallback返回一个可记忆的函数,useMemo返回一个可记忆的值,useCallback只是useMemo的一种特殊形式。

那么这到底是什么意思呢?实际上我们在父子通信的时候,有可能传递的值是一样的,但是传递的内存地址可能是不一样的,那么在React眼里是会对组件进行重新执行的。

一般对象类型的值都是具备内存地址的,所以值相同,但内存地址可能不同,举例如下:

let Welcome = (props) => {  const [ count, setCount ] = useState(0);const handleClick= () => {setCount(count+1);}const foo = () => {}return (<div><button onClick={handleClick}>点击</button>hello Welcome<Head bar={bar} /></div>);
}

当点击按钮的时候,组件会进行重新渲染,因为每次重新触发组件的时候,后会重新生成一个新的内存地址的foo函数。

那么如何不让foo函数重新生成,使用之前的函数地址呢?因为这样做可以减少子组件的渲染,从而提升性能。可以通过useCallback来实现。

const foo = useCallback(() => {}, [])

等价

const foo = useMemo(()=> ()=>{}, [])   // 针对函数

而有时候这种需要不一定都是函数,比如数组的情况下,我们就需要用到useMemo这个钩子函数了,useMemo更加强大,其实useCallback是useMemo的一种特殊形式而已。

const foo = useMemo(()=> ()=>{}, [])   // 针对函数
const bar = useMemo(()=> [1,2,3], [])  // 针对数组

这里我们还要注意,第二个参数是一个数组,这个数组可以作为依赖项存在,也就是说当依赖项发生值的改变的时候,那么对应的对象就会重新创建。

const foo = useMemo(()=> ()=>{}, [count])   // 当count改变时,函数重新创建
http://www.yayakq.cn/news/161556/

相关文章:

  • 企业网站推广免费建网站那个好
  • 网站开发公司选择扬州建设网站公司
  • 网站运营模式建设部网站资质升级陈述通过
  • 关于公司网站建设的若干意见网站设计制作策划
  • 网站建设微信开发wordpress 自定义鼠标
  • 动易网站开发的主要技术做网站怎么插音频
  • 雅安建设局网站山东省郓城县建设局官方网站
  • 温州外贸网站设计昵图设计师服务平台
  • 权威网站优化价格济南做网站最好的公司
  • 对网站建设好学吗淘宝优惠群的网站是怎么做
  • 教师网站建设机培训体会免费下载设计网站页面步骤
  • 公司网站怎么做教程做视频网站用哪个cms
  • 什么是营销网络网站建设和优化的营销话术
  • 做会计网站的流程图如何防止别人攻击自己的网站
  • 做图海报网站仿5173网站
  • 活动发布类网站开发国内新闻最新5条
  • 新加坡网站开发公司眼查看网站开发语言
  • 广州建设官方网站电子商务网站建设方案目录
  • 网站建设服务器可以租吗聊城做网站费用价位
  • 怎么建设品牌网站网站建设推广小王熊掌号
  • wordpress小程序开发文档百度关键词seo排名软件
  • 怎样自己做刷赞网站做租车行网站
  • 自学编程的网站微信开放平台怎么扫码登录游戏
  • 互联网外包是什么意思搜索引擎营销优化诊断训练
  • 嘉兴网站公司金鹏建设集团网站
  • pc网站建设哪个好株洲网站建设优度
  • 各种大型网站腾讯开放平台官网
  • 淮南餐饮网站建设哪个公司做公司网站好
  • 上海外贸soho网站建设wordpress邮件发文
  • 建立网站的英文怎么做网页设计的页面