Hydration completed but contains mismatches

用 vue 做了一个保存页面历史记录的功能,测试环境 npm run dev好使,npm run build到生产环境就不生效了

复制代码
    router.afterEach((to) => {
      if (typeof window !== "undefined") {
        localStorage.setItem('to.path', to.fullPath);
      }
    });
    router.beforeEach((to, from, next) => {
      if (typeof window !== "undefined") {
        const topath = localStorage.getItem('to.path');
        if (to.fullPath === '/' && from.fullPath === '/' && topath) {
          router.push(topath);
        }
      }
      next();
    });

报错:Hydration completed but contains mismatches

并且页面显示内容错乱:标题是第二页,内容是首页。

猜测到是因为router.push重新跳转的问题,但不知道怎么修改,最后测试改成下面这样好使。

复制代码
    router.afterEach((to, from) => {
      if (typeof window !== "undefined") {
        const topath = localStorage.getItem('to.path');
        if (to.fullPath === '/' && from.fullPath === '/' && topath && topath !== '/') {
          router.push({path: topath});
        } else {
          localStorage.setItem('to.path', to.fullPath);
        }
      }
    });

topath !== '/' 是为了避免死循环。问题解决。

相关推荐
万少16 小时前
用腻了 WorkBuddy 的默认界面?这个开源小工具给它换上了毛玻璃
前端·javascript·后端
To_OC18 小时前
LC 15 三数之和:双指针不难,难的是把去重做对
javascript·算法·leetcode
触底反弹19 小时前
🔥 前端也能玩转 AI 流式输出!从二进制流到打字机效果,一篇讲透
javascript·人工智能·node.js
胡萝卜术19 小时前
深度重构:Agent Skills——从 Prompt 工程到能力工程
javascript·架构·github
To_OC21 小时前
从 “卡死半天” 到 “打字机效果”:大模型流式输出前端实现全记录
前端·javascript·llm
rockey62721 小时前
基于AScript的JavaScript脚本语言发布啦
javascript·c#·.net·js·script
kyriewen1 天前
我看完这篇安全论文——AI推荐的npm包,92%是编出来的
前端·javascript·ai编程
心中有国也有家1 天前
AtomGit Flutter 鸿蒙客户端:Canvas 绘制进阶-路径、渐变与混合模式
android·javascript·flutter·华为·harmonyos
鹿目1 天前
使用 Vant CLI 搭建 UI 组件库:从 H5 到小程序跨平台
前端·javascript
默_笙1 天前
😭 我花了两小时找了一个数据结构 bug,才把"迷你 Cursor"跑起来,绝望(bushi)
前端·javascript