【发布时间】:2019-12-07 16:05:22
【问题描述】:
我正在使用带有 Material UI 和 Apollo 的 NextJS。虽然,一切正常,但警告没有发生。在我看来,很多 Material UI 组件都在使用 React 警告过的 useLayoutEffect。错误如下。
警告:useLayoutEffect 在服务器上什么都不做,因为它的效果不能被编码到服务器渲染器的输出格式中。这将导致初始的非水合 UI 和预期的 UI 不匹配。为避免这种情况,useLayoutEffect 应仅在仅在客户端上呈现的组件中使用。有关常见修复,请参阅 fb.me/react-uselayouteffect-ssr。
【问题讨论】:
-
请显示触发此警告的最简单代码版本。
-
感谢您的评论。问题已解决。我会尽快分享解决方案。简而言之,它发生在服务器端渲染中,它需要告诉 Next JS。
-
请跟进。我遇到了完全相同的问题
-
我已经在下面发布了解决方案。希望对你有帮助
标签: material-ui react-hooks next.js react-apollo server-side-rendering