This is a very basic question so many apologies! There are now two current development SharePoint Online models for SharePoint Hosted 'apps'
- the App Model, where alot of devs are using Angular to build SPAs in Visual Studio
- SharePoint Framework where devs are using the new spfx npm/gulp/yeoman to build client side solutions in Visual Code, of which the most favoured flavour seems to be React.
When to use these? Would it be best to use React when you need to extend SharePoint Online functionality by building a client side web solution that interacts with SharePoint assets like lists and libraries? Then use Angular for apps that use SharePoint as a host but might well consume external data sources rather than SharePoint? Or do we just use one of the abvove for everything?!
IMHO, I really do think you should use the framework/libraries you and your team are confortable with if there is one.
React is indeed one of the preferred Framework for building SPFx, because I think, it suits "better" to the concept of WebPart: "A reusable component with properties".
Moreover, React is a Framework that only take care (natively) of the View layer, no built-in "services", "binding", "routing", ... while Angular is a huge Franework that embeds all of these.
For me, it is kind of confusing with all that already exists in SPFx.
That said, As @Pieter Veenstra mentioned it, Sébastien Levert has started great stuff about how to use Angular in SPFx.
But anyway, it is still HTML and JS, so if you are already (really) up to speed with another framework, you should use it. On the contrary, If you have only a little experience with it, why not learning React ?(which is, BTW, quite easy to learn).
I would think, also, that learning fundamentals of React which is massively used in documentation and samples will help you reading and understanding them.