when we started the project we didn’t make any comparison between the two as JSS was already pretty popular but styled-components didn’t exist yet.
I had the chance to work with styled-components on another project recently but honestly, I don’t think it’s a revolution. In particular, there are two things I didn’t like:
- the fact that it forces you to give a name to everything
- the fact that it forces you to wrap with another layer every HTML tag, that’s the idea, but creating always a component to style a simple wrapper div is, in my opinion, an overhead
The benefits of a css-in-js library are available with both libraries though, it’s simply a different pattern. Keep in mind that JSS is more like an engine, and there are official plugins like styled-jss that mimic other libraries behavior.
I don’t think there is a better library in absolute terms. It’s a matter of pro and cons, as usual, and mostly it depends on the requirements you have.