我正在将一个Vue组件呈现为HTML,并且预计DOM呈现/水合并不完全匹配HTML呈现的版本。
如何抑制水合不匹配警告?
在React中有https://reactjs.org/docs/dom-elements.html#suppresshydrationwarning (Is there any way to avoid "Text content did not match" warning in SSR with React?) --有没有与之对应的Vue?
上下文:我是vite-plugin-ssr的作者,我的一些用户需要它。
发布于 2021-11-24 16:41:38
我希望我可以通过评论你的帖子来帮助你,而不是张贴答案。但你可以试一试:
在Vue中,react的react-dom/suppressHydrationWarning没有直接的等价物,但您可以通过以下几种方式抑制警告消息:
通过在Vue组件中将警告选项设置为false:
<template>
<div>
<p v-warning="false">This will not generate a warning</p>
</div>
</template>
通过设置全局Vue.config。将警告选项设置为false:
Vue.config.warning = false
通过将环境变量VUE_WARNING_DISABLE设置为true:
export VUE_WARNING_DISABLE = true
或者使用vue-cli- plugin -suppress-warnings插件。
发布于 2021-07-19 09:23:43
我不知道是否有与suppressHydrationWarning
对应的Vue,但您可以尝试的一件事是在水合之前手动删除DOM内容。
const rootId = 'app'
const root = document.getElementById(vueRootId)
root.innerHTML = ''
// Your hydration code
// ...
有关移除DOM元素的子元素的替代方法,请参见Remove all child elements of a DOM node in JavaScript。
https://stackoverflow.com/questions/68438016
复制