Know when to reach for it. You don't need it for every project.
It's answering the wrong questions. React is still bad at state management. It's something EmberJS got right.
Like React, know what you're getting into. It's a big project, full of dependencies, opinions. It can get out of hand. Remember that entropy is real.
The biggest issue I have with it, thinking CSS is "just" another programming language. It's not. The global namespace, a feature of CSS, is what makes it so incredibly powerful.
Can you get by with some vanilla HTML/CSS/JS?
- JS has been around for a long time and it's getting better. It's been the language of the web for 25 years.
- HTML, it's everything you see on the web. Don’t worry about the “shadow DOM”. HTML It's been around for a long time and has changed little and it’s easy to understand.
- CSS just works. (I still remember being blown away by http://www.csszengarden.com/.)
Quality, it's not easy to define that as websters would have you believe. Like Phaedrus in Zen and the Art of Motorcycle Maintenance... "quality". Try to define "quality", it's infinitely granular. And yet everyone has a different opinion on what "good" "quality" code is.
But, you'll know it when you see it.