如何解决可以安全地忽略“警告:没想到服务器HTML包含a”吗?
对于以下伪代码,如果用户先前单击了“隐藏我”按钮并刷新了页面,则nextjs / react将抱怨Warning: Did not expect server HTML to contain a <div> in <div>
。
export NullableLocalStorageAlert = () => {
const [hide,setHide] = useState(() => typeof Storage === "undefined" ? false : Boolean(localStorage.getItem("POLICY"));
const onClickClose = () => {
localStorage.setItem("POLICY","1");
setHide(true);
};
if (hide) return null;
return <><button onClick={onClickClose}>Hide Me</button></>;
};
它将被称为
export Main = () => {
return <><h1>Blah</h1><NullableLocalStorageAlert /></>;
}
我知道此错误是由于服务器和客户端上呈现的HTML代码之间不匹配引起的。我可以通过用useEffect
“减慢”速度来消除错误。
但是,此警告甚至有关系吗?可以安全地忽略它吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。