Developped by Facebook & Instagram since 2013
V in MVC
Virtual DOM to make it faster
Single Responsability Principle
DRY : Dont Repeat Yourself
Single page application
Compatibility : IE8+ IE8 support ended in v15 (current version is 15.4.0)
ES6 : Object oriented Javascript
JSX : Optimization on compilation to be faster than Javascript
class Hello extends React.Component { render() { return <div> Hello {this.props.toWhat} </div>; } } ReactDOM.render( <Hello toWhat="World" />, document.getElementById('root') );
class Hello extends React.Component { render() { return React.createElement( 'div', null, `Hello ${this.props.toWhat}` ); } } ReactDOM.render( React.createElement( Hello, {toWhat: 'World'}, null ), document.getElementById('root') );
https://www.wanadev.fr/21-introduction-a-ecmascript-6-le-javascript-de-demain/
https://facebook.github.io/react/docs/jsx-in-depth.html
Single source of data : Store
Actions
Reducers
... and middlewares
Combine them all !
By Ibrahima Sow
React / Redux