> I can't possibly recommend class based CSS soup anymore.
Me neither!
> you can simply remove or add classes as you need
That sounds like exactly what I was thinking when you said class soup.
> you don't have to dig through loads of CSS files to figure out where the CSS is
The CSS should be in your components, or in a .css file beside your components at worst. React having bad defaults doesn't need you need to change to adding 20 classes to every HTML element.
I've stopped doing frontend several years ago but it doesn't really feel like the trade off of the newer styling solutions vs just CSS Components for scoping are worth it.
this is exactly correct … Gnat CSS is a great way to police encapsulation imo