我正在运行nextJS应用程序,该应用程序正在运行SSR。
但是当我得到错误时:
警告:没想到服务器HTML在<div>中包含<div>。
因此,服务器端和客户端节点之间似乎存在差异。我如何找到这些差异?
这是一个示例应用程序的仓库:
https://github.com/jaqua/nextjs-app
只要运行npm install
和npm run dev
我正在运行nextJS应用程序,该应用程序正在运行SSR。
但是当我得到错误时:
警告:没想到服务器HTML在<div>中包含<div>。
因此,服务器端和客户端节点之间似乎存在差异。我如何找到这些差异?
这是一个示例应用程序的仓库:
https://github.com/jaqua/nextjs-app
只要运行npm install
和npm run dev
我将首先查看到达浏览器的html(chrome devtools中的“网络”选项卡),然后反应可能仍然是渲染客户端,因此您可以在客户端渲染和比较后看到当前的DOM(转到“元素”选项卡chrome devtools->右键单击html元素,然后选择“复制>复制outterHTML”)
如果失败,您可以尝试在浏览器内部添加断点,以使自身反应:function canHydrateInstance @ ReactDOMHostConfig.js
https://github.com/facebook/react/blob/c954efa70f44a44be9c33c60c57f87bea6f40a10/packages/react-dom/src/client/ReactDOMHostConfig.js
可能与此类问题相关的链接:
React 16警告“ warning.js:36警告:没想到服务器HTML在<div>中包含<div>。”
https://github.com/zeit/next.js/issues/5367