Have generally favoured picking the most boring and popular tools. Used CRA for many years, and then switched to vite for builds. Vite is essentially the industry standard and painless to adopt.
React router for routing, since.. as long as I can remember.
This notion that the ground is constantly shifting beneath you just hasn't been true for over a decade.
Every few years I end up wanting to build some random/hobby webapp and each time the official docs have changed drastically.
Use CRA + webpack, now use Vite instead, you know what? Screw CRA you should just immediately jump to Next.js instead (which seemed like a huge overkill initially, but actually seems kind of nice).
Unless you’re working on a single project or continuously following what’s new it just seems confusing and overwhelming. If I got comfortable with CRA and came back after a year or two should I still use it for a new project even if it’s bo longer the default? Will new packages/etc. still work with it? Maybe… who knows. I just know that I now have to waste time figuring that out.
When React "is just a library" but the installation instructions tell you to install some large, VC-backed framework immediately - it just doesn't sit right with me.
I’m not saying that part is hard or particularly relevant. It takes a lot more time than 5 minutes to figure out how the new framework and/or build system works and all the implications of that, though.
React router for routing, since.. as long as I can remember.
This notion that the ground is constantly shifting beneath you just hasn't been true for over a decade.