Great question!

Arguments against CSS-in-JS mostly focus on complexity. CSS Modules is a simpler pattern with less boilerplate than most CSS-in-JS implementations. If you’re working on a small team and / or a small application, and can tightly enforce style patterns such as BEM or SMACSS, that’s probably best. I’ve followed those patterns for smaller projects and had a lot of success.

In my experience with larger applications and teams has been that the level of effort to enforce manageable style practices grows really quickly. If styles seems unmanageable in a CSS Module pattern, I would recommend a CSS-in-JS pattern instead where predictable behavior is built-in. But that’s the tradeoff, simplicity vs. predictability.

--

--

--

design systems @workday

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Alan B Smith

Alan B Smith

design systems @workday

More from Medium

Social Media

Healing

The three stories that will challenge your self-limiting beliefs.

Short Story: To Love Again