The one big complaint non-React users have is that it “hurts separation of concerns” by mixing HTML and JavaScript in the same file. So I made a video to try and explain why React made that choice, point out the limitations of templating systems, and explore how you can use React patterns to get some of the same benefits as templates.
https://www.discovermeteor.com/blog/why-doesnt-react-have-templates/
Note: I know that React does have a few third-party templating systems, including my own. But as far as I can tell, the concept of separate templates is frowned upon by the React core team.