React renders the view whenever the data changes. But using a virtual DOM only those elements are newly created that are based on the changed data. This means blazingly fast and efficient rendering with simple usability for the developer.
A bird never flew on one wing: a view needs a datastore and a defined flow of events throughout the application. Redux adapted the Elm Architecture in which there is only central datastore from which every view gets its reduced data.
Combine immutable.js and you almost have the feeling of writing Elm…