React makes it painless to create interactive UIs.
Why not Angular or Vue.js?
Angular and Vue.js are fine choices fro a modern front-end framework. Why choose ReactJS? Well, it could be splitting hairs to say one of them is better than the other at the level of the code. However, it is difficult to the deny the momentum that the ReactJS community has been building. The choice is for the strength of the community and for the ease of interoperability that brings..
In addition to taking input data (accessed via this.props), a component can maintain internal state data (accessed via this.state). When a component’s state data changes, the rendered markup will be updated by re-invoking render(). Using props and state, we can put together a small Todo application. This example uses state to track the current list of items as well as the text that the user has entered. Although event handlers appear to be rendered inline, they will be collected and implemented using event delegation.
React allows you to interface with other libraries and frameworks. This example uses remarkable, an external Markdown library, to convert the value in realtime.