Writing software is less about doing things the right way or the wrong way and much more about doing things deliberately. Oftentimes there is no universal right answer - there's only the way that makes the most sense for your situation. It’s a constant game of cost-benefit analysis. Making the best decision involves balancing the various tradeoffs to find the optimal solution given your context, and this may or may not align with "accepted" principles or trends at the time.
Experimenting with a new feature and unsure how it might evolve? Maybe you shouldn't spend hours writing those tests. Maybe it would be best to hold off on finding that perfect abstraction. Maybe it's ok to wait before applying principles like DRY.
Being deliberate about your decisions and understanding your choices and their consequences is a great guiding principle. It's also a great way to learn and encourages independent thinking. Are you using React because everyone else is? Or are you using React because you understand its strengths and weaknesses, have a need for an interactive UI, and have consciously decided that the benefit it brings outweighs the added complexity and maintenance costs?
Consciously is the key. It’s easy to take commonly accepted principles, solutions, or conventions as law without ever questioning or understanding the origins and when or where they apply. When applying these things, take some time to consider the context in which they were developed as well as the underlying principles behind them. You’ll be rewarded in the end.