Angular and React though they are competitors aren’t in a completely fair league. This is because one is a full-fledged framework and one is not. It may be better to compare Angular with a React framework like Next.js.
There are things I like about both.
Angular comes with typescript by default. Typescript is much more superior to JS. React can be used with typescript too but it’s a developer’s choice.
React is easy to get started
Especially with functional components, getting started with react is too easy.
React has too many little things to take care of.
Strength can be a weakness or one could say React isn’t a full framework.
React has too much to learn. And every project is essentially different.
Angular comes with preferred ways of doing things which I like more than base React. Angular has everything important built-in. So you’ll find every Angular project uses the same set of libraries for common tasks like rest call (HttpClient). There is less to learn and remember.
You essentially want to reduce knowing a lot of things so that you can focus on getting stuff done.
Assuming React is used with Typescript, functional react with hooks is a much better way of creating components than class-based React and Angular.
Plus I like JSX (React) than HTML templating(Angular), it’s concise and there is less to remember. HTML templating in angular requires remembering an additional set of code (ngFor, ngIf, etc). In JSX, it’s the same language used while creating components.
The code structure is much better in angular projects.
Every angular project is structured similarly.
By default, CSS management is also better in angular. Every component has its own CSS. Parent components can have the same CSS namings and it would not affect child components unless specified (:host ::ng-deep).
React can also do this by using css modules.