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://facebook.github.io/react/docs/jsx-in-depth.html
Single source of data : Store
Actions
Reducers
... and middlewares
Combine them all !