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

做网站开发的提成多少钱app拉新怎么对接渠道

做网站开发的提成多少钱,app拉新怎么对接渠道,虚拟主机怎么做网站,网站的策划方案今天测试分配了一个比较奇怪的问题,在单页面应用中,反复点击“上一步”和“下一步”按钮时,界面表现出逐渐变得卡顿。为分析这一问题,我用Chrome的性能监控工具进行了浏览器性能录制。结果显示,每次点击“上一步”按钮…

今天测试分配了一个比较奇怪的问题,在单页面应用中,反复点击“上一步”和“下一步”按钮时,界面表现出逐渐变得卡顿。为分析这一问题,我用Chrome的性能监控工具进行了浏览器性能录制。结果显示,每次点击“上一步”按钮时,JavaScript堆内存(JS Heap)和事件监听器(listener)的数量显著增加,并且随着点击次数的增加,这种增长趋势变得越来越明显,所需的时间也逐渐延长。如图所示:
在这里插入图片描述
于是我开始查找代码里的监听器,发现了这个监听代码

history.listen((_,type)=>{if (type==='POP'){setMchInfo({...mchInfo})}
})

这是一个用于监听浏览器历史记录变化的方法。当历史记录发生变化时,传递给listen方法的回调函数会被调用。
而我点击上一步时,会触发这么一个函数

const prevStep = () => {history.go(-1);
};

而这个函数就会触发history.listen,从而增加监听器数量
这样,我们需要在监听器用完的时候直接移除添加的监听器

useEffect(() => {const unlisten = history.listen((_, type) => {if (type === 'POP') {setMchInfo({ ...mchInfo });}});return () => {unlisten();};
}, [history]);

unlisten是history.listen返回的函数,用于移除之前添加的监听器,useEffect钩子的清理函数机制保证了在history变化时,只有旧的监听器会被移除,而新的监听器会在清理之后重新添加,避免内存泄漏。
重试了一次,问题完美解决。

http://www.mmbaike.com/news/42072.html

相关文章:

  • 临平网站建设地推十大推广app平台
  • 深圳网站建设服务介绍搜狗收录入口
  • 济南做网站那家好常州seo关键词排名
  • 专业做效果图网站重庆seo培训
  • 网页模板下载了以后如何进行修改seo黑帽培训骗局
  • 重庆网站建设流程5月疫情最新消息
  • 响应设网站多少钱可以做学习软件的网站
  • 营口旅游网站开发互联网营销师培训大纲
  • 做mod游戏下载网站哈尔滨百度推广公司
  • 网站建设怎么搞seo数据是什么意思
  • 深圳很多90后做虚假彩票网站诈骗百度推广非企代理
  • 企业网站免费推广的方法.百度竞价排名平台
  • 福州网站建设服务公司指数分布的期望和方差
  • 网站 模板 html谷歌浏览器 安卓下载2023版
  • html个人网站制作网站优化推广
  • 汤姆叔叔官方网站建设seo 网站排名
  • 深圳 网站开发公司电话2023上海又出现疫情了
  • 网站开发的评论界面模板百度一下百度百科
  • 积分商城平台seo权威入门教程
  • 网站办公室文化建设郑州seo代理外包公司
  • 鄞州区优秀营销型网站建设首选360安全网址
  • 商城小程序公司怎么去优化关键词
  • 区域工业互联网平台宁波seo推荐优化
  • 吕梁seo网站建设宁波网络推广优化公司
  • 徐州网站建设推广百度知道一下
  • 网站建设公司山而seo搜索引擎优化工资多少钱
  • 网页美工设计的四大原则seo关键词优化推广哪家好
  • 简述dw网站开发流程石家庄seo全网营销
  • 宝鸡做网站市场怎么样2024近期新闻
  • 做关于网站的开题报告免费域名注册平台有哪些