JavaScript - React
React est un framework JavaScript orienté composant développé par Facebook
Création d'un projet
Fedora
Installer nodejs :
Installer yarn, une alternative plus rapide à npm :
Créer une application React grâce à l'outil développé par Facebook :
Lancer le serveur :
Cela ouvre un navigateur sur un port libre et affiche une page de bienvenue.
Structure
Deux dossiers:
public
qui contient l'htmlsrc
qui contient l'app JS
Dans le dossier src
, le fichier index.js
import les dépendances nécessaires à React et importe une classe App
du fichierApp.js
. Ce fichier contient un ou plusieurs Component.
Component
C'est une classe JS (typescript) qui hérite de Component
. Plusieurs choses caractérisent un composant (Component) :
Les propriétés (
props
) : des données immuables qui permettent de transférerdes données entre les composants.
L'état (
state
), constamment mué, représente l'état du composant.
Un Component doit posséder une méthode render()
qui renvoie du code qui ressemble à du HTML, il s'agit de la syntaxe JSX. Par exemple :
Props
Les props (raccourcis de propriétés) sont le moyen de transmettre des variables d'un composant parent à un composant enfant. Pour se faire, on passe les props en arguments des composants enfants dans la fonction render()
du composant parent. Par exemple, un composant App
appelle un composant enfant Welcome
en lui donnant une prop name
de valeur "Guillaume"
. Cette prop
est immuable et est accessible pour l'enfant à this.props.name
.
State
Le state
d'un Component représente son état, i.e. permet de mémoriser des paramètres qui lui sont propres. L'état est initialisé dans le constructeur du composant.
Note : Il faut toujours prendre au moins
props
en paramètre et commencer par appeler le constructeur parent :super(props)
.
Les variables de l'état sont accessibles par this.state.clé
. L'état peut être modifié grâce à la méthode setState({ clé: nouvelleValeur })
.
Événements
On peut rendre nos composants interactifs avec grâce aux événements.
Fonctions Components
On peut écrire un composant sous forme de fonction. Si on reprend le composant Welcome
comme il était à l'origine :
On pourrait l'écrire comme ceci :
Pas besoin d'indiquer this
. Il y a aussi un avantage pour l'appel de fonctions. Imaginons :
Pour faire référence à une fonction, plus besoin de () => fonction()
mais simplement fonction
.
Dernière mise à jour