Styled-Components is awful because it forces tons of 1:1 abstraction. It makes it much harder to do conditional styling. It makes it much harder to use cascading styles. It forces you to write CSS as JSON objects rather than the native syntax. It buries styles for components rather than separating concerns. Because of the last point it bloats the code. Doing simple things like changing the color of a button based on a variable become rube goldberg exercises. I highly encourage people look into Styled-JSX as a better alternative, which corrects all these major faults!