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

公司网站排名怎么做关键词生成器

公司网站排名怎么做,关键词生成器,十度公司做网站怎么样,网站建设个人先进材料今天测试分配了一个比较奇怪的问题,在单页面应用中,反复点击“上一步”和“下一步”按钮时,界面表现出逐渐变得卡顿。为分析这一问题,我用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.shuangfujiaoyu.com/news/29955.html

相关文章:

  • 推荐聊城做网站的公司江苏搜索引擎优化
  • 内部网站建设计划seo怎么做新手入门
  • 动态网页设计网站建设百度搜图片功能
  • 网站可以自己备案吗网站推广排名
  • 网站设计需求chrome浏览器下载安卓手机
  • 两学一做网站注册seo扣费系统源码
  • 上海网站设计工具网站怎么制作教程
  • 网站设计公司种类金蝶进销存免费版
  • 站长工具网站备案查询手机百度app最新版下载
  • 河南建设网站成功品牌策划案例
  • 哪个网站可以做砍价肇庆seo排名
  • 涂料增稠剂移动网站建设公司软文300字介绍商品
  • 中国招生代理网搜索引擎优化效果
  • html5企业网站带后台地推团队如何收费
  • discuz做电影网站网站seo优化的目的
  • 免费网站服务器租用网络快速推广渠道
  • 番禺网站建设怎样找个免费的网站
  • 做网站需要哪类商标磁力链搜索引擎入口
  • 网站做测试怎样做百度官网首页登录入口
  • drupal网站建设怎样进行网络营销吸引顾客
  • 网站开发具体是干什么的全网营销一站式推广
  • 建立网站 域名 服务器内江seo
  • 做企业网站国内发展怎样制作网站
  • 十堰网站建设价格河北seo关键词排名优化
  • 邢台企业建站b2b外贸平台
  • 怎么用手机自己做网站东莞seo网络培训
  • 私人兼职做网站开发昆明seo工资
  • 郑州第一附属医院不孕不育科seo是什么
  • 炒股配资网站开发电商数据查询平台
  • 有没有专门做卡通长图的网站seo线下培训课程