Small nitpicks: The point of react is that it DOESN'T refresh. It maintains a virtual DOM which is faster to update and diff than the regular browser DOM, which you hinted at. No libraries necessary to do routing, but they do make it easier and better.
This however is a React Native application which doesn't have the same (browser) backend or requirements. It's native code. There is no refresh or routing per se.
That all said, the start menu is an abomination of the highest order. It just isn't really React's fault. People just love to hate on React and . React also gets a bad rap because it's so ubiquitous and easy to start using that novices and morons alike can make atrociously slow, bloated web apps with it.
I don't think you're entirely wrong here, but you make sweeping generalizations about programmers that I see a lot online that irk me.
Most developers I know have a few languages they're familiar with. A good developer uses the right tools for the job. When I work with my python shop I use that. When I need a quick webapp it'll be JS. If there's something that requires high performance I might try go.
Every language has pitfalls and vulnerabilities, but that really says nothing of their utility. Any flame war between languages is typically pedaled by dilettantes fueled by memes they don't understand (like javascript == memes)
take this admittedly ancient study of vulnerabilities divvied up by language:
https://www.zdnet.com/article/which-are-the-most-insecure-programming-languages/
In JS, you don't have to free memory manually. Nor in python. This (mostly) precludes a whole class of severe bugs/vulns, but those weren't relevant anyway because they're different tools for different jobs.
We can bemoan the gigantic js ecosystem, but we can also realize it is a fantastic resource for novices and veterans alike.