Modern JS is pretty clean and the native DOM methods are actually very pleasant generally. You can get really far without even needing a package manager, but eventually something like npm becomes useful if bulky.
For me, minimal web development means doing as much as I can at the server. This includes tracking client UI state if feasible. The more stuff you have in 1 domain like that the easier it becomes to control complexity.
When your state machine is split between 2 realms is when you get into traps that things like React were created to resolve.
I found it more thorough and challenging than others I've tried, but it doesn't assume any knowledge of JavaScript.
var element = document.querySelector(...)
var elements = document.querySelectorAll(...)
[1]: https://devdocs.io/dom/document/queryselectorJust include Vue from CDN as a script tag.
And if you want a jump-start with ready-made components and good styling, I can also recommend Buefy - https://buefy.org/documentation - like Vue, it can also be included with a simple script tag, without any command line tools.
Full access to the site / book / codebase costs $100, but the free content alone is worth more than that. Can't recommend it highly enough. Axiomatic CSS, composable layout primitives, and profoundly well-researched and -designed solutions to myriad real-world problems with accessibility and maintainability...
I've been doing web-related stuff for a living since 1998, and have literally never encountered a better resource for getting the hardest part of FE dev right, using standards and building up from first principles.
PS The site's examples implement layouts using HTML and CSS, and the paid version includes a Web Components implementation (trivially translated to React, or integrated / embedded w Vue).
Depends on what you want to do. For work, yes React is king and has an absolutely huge ecosystem built around it. For fun? I'd look into Svelte, fixes a lot of the pain points of React and Vue. Also the Javascript DOM API has come a long way itself and IMO, while a library/framework is helpful if you're building a complex web app with lots of states, the great majority of websites out there don't need a framework and can be built statically with something like Eleventy.
As a backend dev, it's what I wanted frontend work to feel like when I started learning frontend.
If you want to do anything with much state or user interaction, a reactive framework becomes useful. Vue is really quite friendly.
As to how to learn, I've been doing it too long to have a good recommendation. Probably read a JS book, it's a bit of an odd language with a lot of wrinkles.