But here is some advice from an old programmer: once you start making bigger and more complex projects, you will start to make your own convenience libraries. And soon you will realize that you've built your own React-like library. But only less stable and less well thought out, because react has the huge community and maturity.
But if you only do some small functionality, or something specific with the technology, vanilla is perfectly fine.
However, if you are a single page app coder, I would definitely go for something like React.
If fact, huge projects are likely to suffer from using React, because virtual DOMs get out of hand and a lot of resources a wasted by building and rebuilding VDOM and looking for the changes.
Also, for some reason, React brings a lot of cargo-culting. Many don't stop to thing whether they should even if they can. They bring React, then they bring Redux, then all the rest is being dragged in and you get multi MB bundles for some truly trivial purposes. Of course, that's more on developers than on React, but it happens way to often. And for some reason just bringing React and Co. is not enough, it usually ends up in some imressive architecture astronautics. At the end you have a project that is big, but slow and still impossible to understand because the levels of indirection are off the charts.
The sentiment that everybody reaches for Redux is tired, in my opinion. After following many in the web development community and keeping up with online forums such as this, it's fairly clear to me that people have moved on from the heavy armor previously associated with React if they have a choice. For instance, people learned that they were using Redux for prop drilling, which led to many switching over to the context API natively from React. Another good example is Gatsby, for those who realized they have a static site and would like to address the SEO issues associated with a SPA.
Also, a lot of times, companies adopted React and Redux before the inception of these new, more powerful libraries that are obvious choices on the ground as of August 2020. But, have fun refactoring your entire client side state seamlessly if you're tracking state more sophisticated than the status of the application sidebar.
1) That React is a powerful, productive, ergonomic language
2) That high quality resources exist for using it
I have struggled with both of these in React, yet in vanilla JS and html canvas I have no problem writing a 3d graphics engine lol