Used to render and sync html effectively through the virtual DOM.
Used to store the state and propagate the state changes to the view automagically.
Used to make view composition easier and more clear (<Panel header="Hello">Content</Panel>
instead of five divs with several classes).
Used to work safely with all the stuff, including type and name checking inside the TSX-views:
<Panel ...> {this.props.store.valeu} </Panel> /// compiler error here ↑
Used to build all the *.ts
, *.less
and other files into sigle (or multiple) assets, following and resolving all dependencies.