Angular vs. React：Which one suit for Web development.
Angular vs. React: Compare apples and oranges
Some people say that comparing React and Angular is like comparing apples and oranges. One is the library that handles the visual layer, and the other is the complete framework.
Of course, most React developers will add some libraries to turn React into a complete framework. However, the workflow of this React stack is very different from Angular's workflow, so comparability is still limited.
The biggest difference between Angular and React is state management. Angular is bundled with data binding, and React typically uses redux to enhance itself, providing one-way data streams and handling immutable data. These two methods are inherently antagonistic, and there are still countless debates going on: which one is better.
A controversial point of view: Bidirectional data binding makes development easier than one-way binding. Of course, it may be the opposite, such as React with Redux or mobx-state-tree, and Angular with ngrx. But this requires another article to discuss.
Dependency injection is a controversial feature that violates the functional programming and immutability of the current responsive paradigm. It turns out that some kind of dependency injection is almost indispensable in a data binding environment. Because there is no separate data layer architecture, it helps to decouple (and simulate data and testing).
Another advantage of dependency injection (DI) is that different repositories can have independent lifecycles. Most current response paradigms use some kind of global application state that can be mapped to different components. However, in my experience, it is too easy to introduce bugs when cleaning up the global state when the component is unloaded.
Creating a repository when the component is mounted and the subcomponents of the component are seamlessly available seems to be very useful, but is often overlooked.
From the scope of Angular, dependency injection is easily replicated by mobx.