Very soon, you will end up with using Redux, Redux middleware, Immutable.js, etc. I also heard about some Drap-n-drop editor for React first class TypeScript and Flow support (You just cannot get TypeScript + Vue.js + JSX working together even in 2018). Innovation: React has some crazy ideas like Relay, Next.js (Vue.js has Nuxt.js).It has unlocked wonderful architectural patterns for front-end world like time-travel debugging, explicit side-effects, functional components, etc. Redux: Redux is the darling of React world.But doing React right way means you need to use immutability, explicit state management and all these allied concepts stemming from functional world. Functional programming: No way React is a library based on functional programming.But definitely not as mature as React Native. Now solutions do exist in the Vue.js world.
It allows you to take the same code that you wrote for Web and build native mobile applications. React Native is another reason why you may want to consider React.It introduced the ideas of uni-directional architecture, virtual-dom, components (stateful and stateless), etc. React is a pioneering library (It is not a framework) just like Angular.Sometime back, I had written an article explaining why Vue.js: There are tons of other reasons why Vue.js should be your choice. With Angular (digest cycle in v1 and zones in v2) or React, it is bit different. Vue.js reactivity is very well abstracted.You can use angular like templates or you have the freedom to choose React like JSX. Same is applicable to React JSX can feel odd (Even after years, I still find it weird.). For a beginner, Angular's idea of components, services, dependency injection, bootstrapping application, etc can feel overwhelming. It has learned from both and managed to pick many best things from them into Vue.