Have you tried using Styled-Components with your Next.js app but can't get the styles to load properly? This is because the server-side rendering does not fetch the styles before rendering the page. The Styled-Components documentation mentions this very briefly and it is easy to miss. What we actually have to do is inject server-side rendered styles to the head so it can render the page and its styles correctly. Next.js has the exact file you'll need to make this possible. Within the Next.js Github repo you can find _document.js. Within your Next.js project inside the pages folder create a file called _document.js and copy and paste all the code from the _document.js from the Next.js Github repo. This should fix your problem. Remember to restart the server to apply all changes.
-__tests__
-components
-pages
-_document.js
-index.js
-public
Latest comments (31)
Thank you so much!
Works Great
this worked so well you can also create a
.babelrc
at theroot folder
of your project and add the following code.if you are using
style-components
for those using typescript nextjs template
For typescript project,
in _document.tsx
Use the following code.
or
Follow this link
Using styled components with next.js 12 and typescript in 2022
Sumukhakb ・ Mar 7 ・ 3 min read
nice thanks,, you saved the first render FLICK with materialui & nextjs too
This worked, BUT...
I used this and it worked flawlessly. But now how to I add new fonts to my Next JS app with google fonts. This process involves my _document.js file and I don't know what to do: nextjs.org/docs/basic-features/fon....
This was really helpful, thanks
thank you so much! it worked very well!
I had the same problem with a plugin to prerender react app. HTML would load before the styling and for a split second elements would be a mess. Didn't find a solution there.
Now had the same issue with a production version of next.js, but this trick saved the day. Thanks.
Works great thanks.
Merci beaucoup mon ami. This solved the issue that cost me hours. I am grateful
Thanks!
Thank you so much it worked like magic
A Hero whitout a cape
Thank you so much for pointing this out!!! Totally mindboggling style problems have been unboggled.