Advantages in more detail:
- Declarative UI code – meaning there is demarcation between UI look and feel and behaviour. You just declare the data-bound Components – for e.g.. a error message property can already render a UI error element if its set. The behaviour of how error event get thrown and how its all behaving as an application is completely different. The UI is declarative – in the sense it has data and View UI (ModelView layer, if you will) declared but collective behaviour of components are resting in a completely different part of code. You UI Is now extensible and can be easily worked upon by different members or different teams.
- Component based code – The ReactJS conceptually involves creating separate/independent components which in essence gives a possibility to use same code across multiple devices.
- UI can be rendered completely on server side or client side depending upon your projects’ needs.