I like the convenience of CSS-in-JS especially being able to co-locate styling but I’m not convinced on a few of things:
- That hashed classes are a “must have” instead of namespaced classes, and could even be annoying in 3rd party components.
- That using logic in your CSS is necessarily better or more readable, and is also a performance killer (more on that below).
- That it’s a good idea to add 25-40kb of minified JavaScript to your 10kb NPM component.
At first you go on your merry way and don’t notice any performance problems with these “blazing fast” runtime CSS solutions. That is until you put a bunch of them on one page in Storybook.