ReactJS is more efficient with Virtual DOM. It has node tree with list of elements, which automatically get updated, with the evolution of data models. Component based model wraps in it all the modules. Each Webpage is treated as small components. It facilitates easy updation of individual component. It helps build very interactive applications.
Code reusability, is the baseline of any successful framework. ReactJS has rich code reusability, which forms baseline for portable UIs.
May it be a small, medium or intricate bigger applications, ReactJs just serves perfect. Its enriched engineering promises flawless configuration of web and mobile applications. It offers presentation of each state of application into a simple view. When the data gets modified, view gets updated instantly. The code looks simpler with usage of declarative views.
Segregation of modules, serves great benefits for projects that run for a long duration. Segmentation of elements into smaller components, makes testing much easier. It is flexible for developer to group modules and define as a common module. Lifecycle methods are hooks enables code execute at set points in components.