Good with TypeScript
If you are someone who has worked a little bit of TypeScript, then it will be better for you to start learning Angular because Angular is based on the TypeScript and various annotations of the TypeScript. It will force you to implement the object oriented programming concepts as well. It will be better if you have some experience of working with Interfaces and classes.
For Small to Medium Scale Projects
If you are working on a project which is not large in size and the maintainability of the project is not that difficult then it a good option to select the ReactJS framework. Because this will make the development easy and effective. This will also make the maintaining the project very easy as well. The cost of building project will be dropped to a great extent as well.
For Medium to Large Scale Projects
If you are going to build a project that will have a lot of modules, then Angular will be the better choice as it will allow the maintaining the project very easy. The Angular code will be much easy to understand and easy to edit as well. The Angular is a bit slower than the ReactJS, so keep this thing in mind as well.
The basic concepts of Angular are very beginners friendly, the concepts like data-binding, routing are very easy to understand as well. But some concepts like custom events creation and communication between different components can become quite difficult to understand at the first try.
As Angular is a complete framework so you do not have to install the third party libraries to do the very basic works such as form handling and routing. All these kind of thing are already installed in the Angular so you only have to run a single command to get these libraries installed into the project.
The ReacJS is a library which works on the concept of the virtual DOM, so when there is a change in the virtual DOM the actual DOM is changed according to that change. So, the detection of this change is very rapid which makes the change detection in ReactJS very fast and it becomes favourite thing for the developers.
The Angular is a Template driven framework which means that whenever a change occurs in any Angular file, then the whole website will be reload to make that change visible. This thing is very frustrating thing about Angular and many developers dislike this thing and it is a great challenge for Google developers who are maintaining the Angular Project.
It is not absolute that you should learn React or Angular or any other framework, all depends upon your mindset and goals you are working on, if you are looking forward to work with Bid and Enterprise level projects then Angular is good option. But if you are looking forward to work on Startup projects then React will be a great option for you. Stay Motivated and Keep on Learning new thing, because life never stops teaching.