NextJS 无法与样式化组件一起正常工作

时间:2021-02-03 15:40:16

标签: next.js styled-components

这很可能是新手问题,很容易解决。

我有一个使用样式组件的基本本地 nextjs 应用程序,它似乎抛出了这个错误:

enter image description here

这里是完整的代码,以防万一:

react-dom.development.js?61bb:67 Warning: Prop `className` did not match. Server: "sc-hKgILt dugyKZ" Client: "sc-gsTCUz cZIGcY"
at h1
at styled.h1 (webpack-internal:///./node_modules/styled-components/dist/styled-components.browser.esm.js:28:19542)
at div
at styled.div (webpack-internal:///./node_modules/styled-components/dist/styled-components.browser.esm.js:28:19542)
at div
at Home
at div
at Layout (webpack-internal:///./components/Layout.js:12:23)
at MyApp (webpack-internal:///./pages/_app.js:20:24)
at ErrorBoundary (webpack-internal:///./node_modules/@next/react-dev-overlay/lib/internal/ErrorBoundary.js:23:47)
at ReactDevOverlay (webpack-internal:///./node_modules/@next/react-dev-overlay/lib/internal/ReactDevOverlay.js:73:23)
at Container (webpack-internal:///./node_modules/next/dist/client/index.js:149:5)
at AppContainer (webpack-internal:///./node_modules/next/dist/client/index.js:637:24)
at Root (webpack-internal:///./node_modules/next/dist/client/index.js:768:24)
printWarning @ react-dom.development.js?61bb:67
error @ react-dom.development.js?61bb:43
warnForPropDifference @ react-dom.development.js?61bb:8824
diffHydratedProperties @ react-dom.development.js?61bb:9645
hydrateInstance @ react-dom.development.js?61bb:10400
prepareToHydrateHostInstance @ react-dom.development.js?61bb:14616
completeWork @ react-dom.development.js?61bb:19458
completeUnitOfWork @ react-dom.development.js?61bb:22815
performUnitOfWork @ react-dom.development.js?61bb:22787
workLoopSync @ react-dom.development.js?61bb:22707
renderRootSync @ react-dom.development.js?61bb:22670
performSyncWorkOnRoot @ react-dom.development.js?61bb:22293
scheduleUpdateOnFiber @ react-dom.development.js?61bb:21881
updateContainer @ react-dom.development.js?61bb:25482
eval @ react-dom.development.js?61bb:26021
unbatchedUpdates @ react-dom.development.js?61bb:22431
legacyRenderSubtreeIntoContainer @ react-dom.development.js?61bb:26020
hydrate @ react-dom.development.js?61bb:26086
renderReactElement @ index.tsx?8abf:521
doRender @ index.tsx?8abf:787
_callee2$ @ index.tsx?8abf:416
tryCatch @ runtime.js?96cf:63
invoke @ runtime.js?96cf:293
eval @ runtime.js?96cf:118
asyncGeneratorStep @ asyncToGenerator.js?c973:3
_next @ asyncToGenerator.js?c973:25
eval @ asyncToGenerator.js?c973:32
eval @ asyncToGenerator.js?c973:21
_render @ index.js:514
render @ index.js:451
eval @ next-dev.js?53bc:85
eval @ fouc.js?937a:14
requestAnimationFrame (async)
displayContent @ fouc.js?937a:5
eval @ next-dev.js?53bc:84
Promise.then (async)
eval @ next-dev.js?53bc:31
eval @ next-dev.js?53bc:31
./node_modules/next/dist/client/next-dev.js @ main.js?ts=1612366423235:945
__webpack_require__ @ webpack.js?ts=1612366423235:873
checkDeferredModules @ webpack.js?ts=1612366423235:46
webpackJsonpCallback @ webpack.js?ts=1612366423235:33
(anonymous) @ webpack.js?ts=1612366423235:1015
(anonymous) @ webpack.js?ts=1612366423235:1023
Show 2 more frames

当我第一次启动本地服务器即 npm run dev 时,没有显示错误。如果我单击链接转到我的联系人和关于页面,则不会显示错误。

现在,如果我刷新页面,就会显示错误。

有人遇到过这个问题或知道我该如何解决吗?

更新:

事实证明,如果我在样式之间留出空隙,则会引发上述错误。

所以如果我改变:

const Hero = styled.div`
height: 90vh;
display: flex;
justify-content: center;
align-items: center;
background: #fff;
`;

const Heading = styled.h1`
  color: #000;
  font-size:10rem;
  font-weight:900;
`;

const Hero = styled.div`
height: 90vh;
display: flex;
justify-content: center;
align-items: center;
background: #fff;
`;
const Heading = styled.h1`
  color: #000;
  font-size:10rem;
  font-weight:900;
`;

它有效。

奇怪?

此外,我从不关心 _documents.js 文件,不确定我现在在某个需要的地方阅读了吗?

0 个答案:

没有答案