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 !== '/' 是为了避免死循环。问题解决。

相关推荐
睡觉的时候不困62 小时前
TypedSql:在 C# 类型系统上实现一个 SQL 查询引擎
javascript
AI英德西牛仔2 小时前
Claude 导出 pdf 颜色不一样怎么办,选用 AI 导出鸭优化格式转换,多维度落地修正 PDF 色彩失真问题
javascript·人工智能·ai·chatgpt·pdf·deepseek·ai导出鸭
右耳朵猫AI2 小时前
JS/TS周刊2026W21 | Deno2.8RC、Angular22RC、TypeORM1.0
开发语言·javascript·ecmascript
风吹夏回2 小时前
TypeScript 快速上手指南:从 JavaScript 到类型安全
javascript·ubuntu·typescript
lianyinghhh2 小时前
FlowGame 从零上手:开源 AI 工作流编排框架与 Vue 3 接入实战
python·低代码·开源·vue·rag·flowgame·ai工作流编排
蜡台3 小时前
UniApp WebView 组件宽高设置与动态适配全方案
前端·javascript·uniapp·webview·iframe
半个烧饼不加肉3 小时前
JS 底层探究-- 调用栈(Call Stack)
开发语言·前端·javascript
御坂100273 小时前
Vue - @change应用实现下拉框联动功能
前端·javascript·vue.js
小雨下雨的雨3 小时前
基于 Electron 运行时的鸿蒙PC桌面应用-安全可靠的随机密码生成工具
前端·javascript·华为·electron·前端框架·鸿蒙