babel-plugin-styled-components icon indicating copy to clipboard operation
babel-plugin-styled-components copied to clipboard

Styles of component imported from component library not applied during ssr.

Open tadej321 opened this issue 4 years ago • 2 comments

I have come accross an issue where styles of a component, that is imported from my component library which is bundled with webpack 5, are not applied during ssr.

I have two projects.

  1. A NextJs app with SC. Importing a component library minimal reproduction repo: https://github.com/tadej321/nextjs-test.git

  2. A React component library with SC and bundled with webpack 5. Imported into my NextJs app minimal reproduction repo: https://github.com/tadej321/component-library-test.git

The component library is added as a dependancy to the NextJs app. Once the page is updated on the client, the styles are applied correctly, just the inital render of the page lacks the styles.

I do not know if the problem is with SC or NextJs. But if I dont bundle the component library with webpack and instead only transpile with babel using this configuration: { "presets": [ "@babel/preset-env", "@babel/preset-react" ], "plugins": ["babel-plugin-styled-components"] } then NextJs performs ssr with styles applied.

To bundle the component library run the npm run build command and set the main in package.json to: "main": "./dist/index.js" To transpile with babel run the npm run transiple command and set the main in package.json to: "main": "./dist/index.transpiled.js"

tadej321 avatar Oct 28 '21 20:10 tadej321

It's similar to issue that we have at MUI - https://github.com/mui-org/material-ui/issues/29742

mnajdova avatar Nov 25 '21 13:11 mnajdova

facing similar issue for an external package. Styles are breaking on client after hydration, this is happening only on production mode :(

rake7h avatar Dec 01 '21 18:12 rake7h