React c'est quoi ?

React (aussi appelé React.js ou ReactJS) est une bibliothèque JavaScript libre développée par Facebook depuis 2013. Le but principal de cette bibliothèque est de faciliter la création d'application web monopage, via la création de composants dépendant d'un état et générant une page (ou portion) HTML à chaque changement d'état.

Il utilise également un concept appelé le DOM virtuel qui sélectivement rend des sous-arbres de nœuds basés sur des changements d'état. Il effectue le moins de manipulation de DOM possible pour maintenir vos composants à jour. React est basé sur virtual-dom : un composant React ne crée pas de HTML mais une représentation sous forme d’objets et de nœuds de ce à quoi le HTML final doit ressembler. Virtual-dom va prendre en compte cette représentation, la comparer au DOM réel et en déduire les opérations minimales à exécuter pour que le DOM réel soit conforme au virtuel.

C’est grâce à cet outil que React peut partir du principe qu’il est plus simple de “remplacer” toute l’interface quand elle doit être modifiée plutôt que de modifier au fur et à mesure le DOM

Pour mieux comprendre, prenons un exemple. Vous souhaitez ajouter et faire quelque changements sur une personne comme l'ajout d'une moustache, quelques biceps... Dans React-land, lorsque l'on applique ces changements, deux choses se produisent.
Tout d'abord, React exécute un algorithme « différent », qui identifie ce qui a changé. Ensuite, arrive la "réconciliation" qui met à jour le DOM.
La façon de réagir fonctionne et plutôt que de prendre la personne réelle et de la reconstruire, on ne change que le visage et le ventre. Cela signifie que si vous avez du texte dans une entrée et un rendu a eu lieu, tant que le noeud principal de l'entrée n'était pas programmé pour la réconciliation, le texte resterait inchangé. Parce que React utilise un faux DOM et non un vrai, il ouvre également une nouvelle possibilité amusante.