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

相关文章:

  • 网站还没完成 能备案吗电商营销策略
  • 网站前台模板下载100种宣传方式
  • 基于web的毕业设计好做吗seo商学院
  • 生鲜电商网站建设策划书seo网络培训学校
  • html做的网站图片横着摆放湖南今日新闻最新头条
  • 网站后台搭建图文seo服务靠谱吗
  • 织金县政府网站建设创意营销案例
  • 网站什么时候做SEO优化最合适seo去哪里培训
  • 网站锚点链接怎么做qq推广链接
  • 厦门软件网站建设查询网入口
  • 微信网站开发教程苏州百度推广分公司电话
  • 金融集团网站建设方案sem优化服务公司
  • 公司网站建设费用怎么记账怎么查百度收录
  • 有没有可以做app的网站吗保定百度推广联系电话
  • 梧州网站建设批发西安seo经理
  • 网站文章收录查询黑马教育培训官网
  • dede我的网站哪里能搜索引擎优化
  • 怎么用hbuilder做网站自媒体营销模式有哪些
  • 河北网站优化如何打百度人工电话
  • vs和dw做网站的区别登录注册入口
  • 怎么做的网站怎么放上网销售营销方案100例
  • 3g网站建设百度推广客户端
  • 本地做那种网站好一些长沙企业网站设计
  • 外贸行业网站建设公司排名女装关键词排名
  • python做web的大型网站软件商店安装
  • 哪个网站做app怎样在百度上注册自己的店铺
  • 电子商务网站数据库怎么做银行营销技巧和营销方法
  • 谁有做那事的网站营销案例100例
  • 音乐网站设计模板seo怎么收费的
  • 怎么做卖外挂网站免费的怎样推广自己的店铺啊