当前位置: 首页 > 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.khdw.cn/news/24286.html

相关文章:

  • 学校网站建设规划书排名sem优化软件
  • 做网络平台的网站有哪些抖音广告投放平台官网
  • 宁波网站建设公司地址关键词优化seo外包
  • 郑州网站建设最便宜营销网站推荐
  • 企业网站的网址通常包括百度seo优化技术
  • wordpress文章存储天津谷歌优化
  • 做任务能赚钱的网站有哪些武汉seo公司哪家好
  • 网站制作公司汉狮网络网站seo关键词设置
  • 网站炫酷首页青岛网站建设公司电话
  • 四川建设银行手机银行下载官方网站我想找一个营销团队
  • 河南郑州做网站汉狮seo网站优化培训找哪些
  • 宁波网站推广seo服务价格表
  • 南昌企业制作网站网站测速
  • 嘉定装饰装修网站域名大全免费网站
  • 谷歌seo算法规则seo能干一辈子吗
  • 用树莓派做网站服务器关键词排名优化怎么样
  • 台州建站模板搭建长沙专业网站制作
  • 宁河网站建设怎么创建网站的快捷方式
  • 高端网站建设公司哪里济南兴田德润实惠吗sem模型
  • 用模板做网站教程网站百度收录查询
  • 网站移动端适配怎么做整站优化seo平台
  • 芜湖做网站推广有哪些公司客户资源买卖平台
  • 网站建设一条龙服务免费b站推广入口
  • 做视频比较好的理财网站有哪些seo业务培训
  • 武汉网站建设公司027推广软件平台
  • 邯郸做网站优化沙坪坝区优化关键词软件
  • 做国外网站用什么颜色成都网站快速优化排名
  • 长沙好的网站建设公司排名移动优化课主讲:夫唯老师
  • 网站建设规划书电商免费推广的方式有哪些
  • 简约好看的网站百度推广的费用