4. REACT
▸ librairie orientée rendu
▸ concept de composants réutilisables
▸ grand soin apportée à la gestion d'état
▸ très performant grace au concept de diff de DOM
5. GESTION D'ÉTAT
▸ Les données changeantes au fil du temps sont une plaie
▸ Le DOM n'est qu'une gigantesque state machine
▸ Emprunts à la Programmation Fonctionnelle
10. DÉCRYPTAGE
Définition de l'action au click ; ici, on met à jour l'état en incrémentant
la valeur courante du compteur
handleClick: function() {
this.setState({value: this.state.value + 1});
},
React effectue un rendu intégral d'un composant à chaque mise à jour
des données qui lui sont associées
11. DÉCRYPTAGE
Définition de la structure sémantique du composant
render: function() {
return (React.DOM.div(null,
React.DOM.span(null, this.state.value),
React.DOM.a({href: "#", onClick: this.handleClick},
"click me!")));
}
17. JSX
(oui, ça fait toujours ça la première fois)
▸ JSX n'est qu'un DSL représentant le DOM
▸ nécessite une étape de compilation
▸ son utilisation est complètement optionnelle…
▸ … mais bien pratique à l'usage
23. DÉCORATEUR
var MyPanel = React.createClass({
render: function() {
return (
<Panel title="Hello World">
<p>How are you today?</p>
</Panel>
);
}
});
24. VIRTUAL DOM
À chaque mise à jour des données, React :
▸ construit un nouvel arbre virtuel à partir de celles-ci
▸ fait un diff avec la précédente version de l'arbre
▸ stocke un ensemble d'opérations atomiques de modification dans
une queue
▸ et traite ces opérations par lots (batch)