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

要绑定税务网站办税员怎样做茂名seo顾问服务

要绑定税务网站办税员怎样做,茂名seo顾问服务,c 网站建设综合报告,手机开网站今天测试分配了一个比较奇怪的问题,在单页面应用中,反复点击“上一步”和“下一步”按钮时,界面表现出逐渐变得卡顿。为分析这一问题,我用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.ritt.cn/news/28223.html

相关文章:

  • 网站建设项目设计表肇庆疫情最新消息
  • html5网站建设思路软文范例大全100
  • 天津今日最新疫情津云太原搜索引擎优化
  • 网站建设中国十强上海百度推广优化
  • 周口公司做网站58同城黄页推广
  • 聊天室网站开发百度指数是干嘛的
  • 网页设计师证书报考条件seo定义
  • 湛江企业网站建设公司怎么做营销推广方案
  • 上海黄浦 网站制作网络优化报告
  • 南京医院网站建设拼多多seo怎么优化
  • 银川市建设诚信平台网站企业网站策划
  • java怎么做网站多语言静态网页制作
  • 目前做网站流行的是什么网站开发的基本流程
  • 连网站建设企业关键词排名优化网址
  • 公司门户网站制作需要多少钱优化网站找哪家
  • 家电网站设计浏览器看b站
  • 苏州做淘宝网站如何推广自己的网站
  • 做五金标准件网站直接进网站的浏览器
  • 北医三院生殖科做试管的网站电商怎么注册开店
  • 椒江街道招聘建设网站武汉seo霸屏
  • 学校门户网站建设的好处各大搜索引擎网址
  • 网站上的图片怎么替换南京网站排名提升
  • 冒险岛钓鱼网站做啥用百度关键词搜索
  • 拟采用建站技术百度地图官网2022最新版下载
  • 进行seo网站建设微信群发软件
  • web网站模板免费seo图片优化
  • 芜湖网站建设公司网站建站
  • 网站建设电话销售关于营销的最新的新闻
  • 天下第一社区是免费播放视频昆明seo技术培训
  • 做网站推广优化哪家好爱站网关键词挖掘工具站长工具