SlideShare une entreprise Scribd logo
1  sur  31
Développement Web
Moderne avec REACTJS
Présenté par : JADLI AISSAM
jadliaissam@gm
ail.com
/in/jadli-aissam-
86a69843
SÉANCE 2
SOMMAIRE
Les Composants Les Props Le State
Data Flow
Mr. JADLI AISSAM 2
Mr. JADLI AISSAM 3
Les Composants
Les composants vous permettent de découper l’interface utilisateur en éléments
indépendants et réutilisables, vous permettant ainsi de considérer chaque élément de
manière isolée.
Conceptuellement, les composants sont comme
des fonctions JavaScript. Ils acceptent des
entrées quelconques (appelées « props ») et
renvoient des éléments React décrivant ce qui
doit apparaître à l’écran.
Les Composants Les Props Le State Data Flow
Mr. JADLI AISSAM 4
Types de Composants
Le moyen le plus simple de définir un composant
consiste à écrire une fonction JavaScript :
Cette fonction est un composant React valide car elle accepte un seul argument
« props » contenant des données, et renvoie un élément React. Nous appelons de
tels composants des « fonctions composants », car ce sont littéralement des
fonctions JavaScript
Vous pouvez également utiliser une classe ES6 pour
définir un composant :
Fonction composant
Composant à base de classe
Les Composants Les Props Le State Data Flow
Mr. JADLI AISSAM 5
Styles
Comment ajouter des classes CSS aux composants ?
❑ En passant une chaîne à la prop className;
Les classes CSS peuvent dépendre des props ou
de l’état local du composant
❑ Utiliser des styles en ligne;
L’attribut style accepte un objet JavaScript avec
des propriétés en camelCase plutôt qu’une
chaîne de caractères CSS.
Les Composants Les Props Le State Data Flow
Mr. JADLI AISSAM
6
Styles
Comment ajouter des classes CSS aux composants ?
❑ Vous pouvez écrire votre style CSS dans un fichier
séparé, simplement enregistrer le fichier avec
l'extension de fichier .css et l'importer dans votre
application.
❑ Une autre façon d'ajouter des styles à votre
application est d'utiliser des modules CSS. Les
modules CSS sont pratiques pour les composants
qui sont placés dans des fichiers séparés
App.css
mystyle.module.css
Les Composants Les Props Le State Data Flow
7
Styles
React ajoute automatiquement le suffixe px (pixel) à
certaines propriétés numériques de style. Si vous
voulez une autre unité que « px », spécifiez la valeur
sous forme de chaîne de caractères avec l’unité
désirée.
N.B : Toutes les propriétés de style ne sont pas systématiquement
converties en pixels pour autant. Certaines restent sans unité (ex.
zoom, order, flex).
Les Composants Les Props Le State Data Flow
8
Styles : Le FlexBox
Flexbox n'a rien à voir avec React. Cela existait bien avant, ce n'est donc pas une création
made in Facebook. C'est un mode de mise en page, utilisé sur du web à la base,
permettant de gérer les tailles et les positions des éléments dynamiquement.
Avec Flexbox, on pense et on construit nos vues comme des boîtes flexibles qui s'ajustent
entre elles.
Les Composants Les Props Le State Data Flow
9
Styles : Le FlexBox
L'idée principale derrière la disposition flexible est de donner au conteneur la possibilité de
modifier la largeur / hauteur de ses enfants (et l'ordre) pour remplir au mieux l'espace
disponible (principalement pour s'adapter à tous les types de dispositifs d'affichage et de
tailles d'écran). Un conteneur flexible développe les éléments pour remplir l'espace libre
disponible ou les réduit pour éviter le débordement.
Les Composants Les Props Le State Data Flow
10
Styles : Le FlexBox
Exemples propriétés Flexbox
Les Composants Les Props Le State Data Flow
11
Les Props
Un composant React est un composant réutilisable qui peut être utilisé maintes et
maintes fois dans l'interface utilisateur, mais nous n'allons pas toujours rendre le même
composant avec les mêmes données. Parfois, nous devons modifier les données ou le
contenu d'un composant. C'est pourquoi les props sont introduits dans React.
Les props sont transmis au
composant React en utilisant
des attributs, puis nous
pouvons y accéder à l'intérieur
du composant en utilisant
simplement « this.props ».
Les Composants Les Props Le State Data Flow
Mr. JADLI AISSAM
12
Les Props
Les props sont disponibles dans le
composant en Lecture seule (read-only) et
ne peuvent être modifiés.
Les données passées à travers les props,
peuvent être envoyées de deux façons
différentes selon la nature de la variable :
❑ En assignant directement la valeur à
l’attribut dans le cas des chaînes de
caractères.
❑ En utilisant les accolades dans le cas des
objets JavaScript ou les autres types
class App extends React.Component {
render() {
const banner = {
title : "Banner Title",
content : "Banner Content"
}
return (
<div>
<Header title="This is a Title" banner={banner} />
</div>
);
}
}
class Header extends React.Component {
render() {
return (
<div>
<h1>{this.props.title}</h1>
<h2>{this.props.banner.title}</h2>
<p>{this.props.banner.content}</p>
</div>
);
}
}
Les Composants Les Props Le State Data Flow
13
Validation de types avec PropTypes
Les Composants Les Props Le State Data Flow
Au fur et à mesure que votre application
grandit, vous pouvez détecter un grand
nombre de bugs grâce à la validation de
types et React possède ses propres
fonctionnalités de validation de types.
Pour lancer la validation de types des props
d’un composant, nous devons ajouter la
propriété spéciale propTypes.
14
Validation de types avec PropTypes
Les Composants Les Props Le State Data Flow
PropTypes exporte un ensemble de
validateurs qui peuvent être utilisés pour
s’assurer que la donnée qu’on reçoit est
valide. Quand une valeur non valide est
fournie à une prop, un message
d’avertissement apparaîtra dans la
console JavaScript. Pour des raisons de
performances, propTypes n’est vérifiée
qu’en mode développement
15
DefaultProps
Les Composants Les Props Le State Data Flow
Vous pouvez définir des valeurs par défaut pour vos props en utilisant la propriété
spéciale nommée defaultProps.
Les defaultProps seront utilisées pour s’assurer
que le prop aura une valeur si elle n’était pas
spécifiée par le composant parent. La validation
de types des propTypes aura lieu après que
defaultProps est résolu, la validation de types
s’applique donc également aux defaultProps
16
L’Etat (State)
Passer uniquement des props d'un
composant à un autre ne rend pas le
composant interactif, car les props sont en
lecture seule. C'est le moment où l’état
(state) qui est lui modifiable à volonté entre
en jeu.
Le state correspond à l’état local du
composant. On peut y stocker des variables
de tout type (valeurs numériques, chaînes de
caractères, tableaux, … etc.).
Les Composants Les Props Le State Data Flow
17
L’Etat (State)
La modification du state se fait grâce à la méthode setState() ce qui
provoque une réexécution de la méthode render() du composant.
Pour utiliser le state dans un composant, il faut l’initialiser dans le
constructeur du composant, ensuite, le state est accessible grâce à
this.state. Le changement dans le state d’un composant rafraîchit
tout les composants enfants du composant.
Les Composants Les Props Le State Data Flow
18
Data Flow
Plusieurs composants ont souvent besoin de refléter les mêmes données dynamiques.
C’est pourquoi il est souvent de pratique de faire remonter l’état partagé dans leur
ancêtre commun le plus proche.
Les Composants Les Props Le State Data Flow
Dans React, il existe 2 façons de
réaliser des échanges d’information:
❖ Les props : Depuis un composant
vers les composants enfants
❖ Les callbacks : On peut envoyer
des fonctions vers les composants
enfants en utilisant les props
19
Callbacks
Au lieu de transmettre une partie de
l'état à un composant enfant, le parent
peut transmettre une fonction de
rappel (callback).
Cette fonction de rappel est exécutée
ultérieurement, généralement via une
interaction avec le composant enfant.
Le but de cette fonction de rappel est
de modifier une partie de l'état qui fait
partie du composant parent. Cela ferme
la boucle de données.
Les Composants Les Props Le State Data Flow
TRAVAUX PRATIQUES
Mr. JADLI AISSAM 20
Tester vos Connaissances
Mr. JADLI AISSAM 21
Mr. JADLI AISSAM 22
React Quiz
Un Composant React peut être défini en tant que ___
❑ Un tableau de propriétés
❑ Une fonction JS qui n’accepte aucun paramètre
❑ Une Classe ES6 étendant la classe Component
❑ Une fonction JS qui accepte un seul paramètre
1
Mr. JADLI AISSAM 23
React Quiz
La casse des styles JSX définis en ligne est ___
❑Pas de Casse
❑CamelCase
❑PascalCase
2
Mr. JADLI AISSAM 24
React Quiz
Le FlexBox est ___
❑ Une exclusivité ReactJS
❑Utilisé pour obtenir un design responsive
❑Utilisé pour définir l’architecture de la page
❑Utilisé pour réaliser des animations CSS
3
Mr. JADLI AISSAM 25
React Quiz
La propriété justifyContent permet de ___
❑ Définir l’alignement sur l’axe secondaire
❑Définir l’alignement sur l’axe principal
❑Définir la taille du contenu
❑Définir la couleur du contenu
4
Mr. JADLI AISSAM 26
React Quiz
Les props d’un composant représentent ___
❑Son résultat d’affichage
❑Ses paramètres
❑Son comportement
5
Mr. JADLI AISSAM 27
React Quiz
Choisir la (les) syntaxes correctes pour l’envoi d’un prop :
❑<Welcome name={Alex} />
❑<Welcome name={‘Alex’} />
❑<Welcome age={25} />
❑<Welcome age=25 />
6
Mr. JADLI AISSAM 28
React Quiz
L’état (State) est sauvegardée dans
___
❑Le composant principal de l’application (nommé root)
❑Le composant parent
❑L’intérieur de chaque composant
❑Un fichier texte
7
Mr. JADLI AISSAM 29
React Quiz
Sélectionner le(s) réponse(s) juste(s) :
8
❑Les props sont immutable mais l’état change
❑L’état est immutable mais les props changent
❑Les props et l’état changent
❑Les props et l’état sont immutable
Mr. JADLI AISSAM 30
React Quiz
Pour changer l’état d’un composant ___
❑Modifier directement la valeur this.state
❑Utiliser la méthode changeState()
❑ Utiliser la méthode setState()
❑Appeler la méthode render()
9
Mr. JADLI AISSAM 31
React Quiz
Un Composant peut ___
❑ Recevoir des données depuis sont parent
❑ Envoyer des données à son parent
❑ Envoyer directement des données au composant voisin
❑ Exécuter des méthodes dans le composant parent
10

Contenu connexe

Similaire à cours dev d'applications web moderne avec ReactJS

Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partager
aliagadir
 

Similaire à cours dev d'applications web moderne avec ReactJS (20)

575
575575
575
 
Cours wpf avancé
Cours wpf avancéCours wpf avancé
Cours wpf avancé
 
react (1)contexte appbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
react (1)contexte appbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbreact (1)contexte appbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
react (1)contexte appbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
 
582 agr-li - interface mobile - classe 1
582   agr-li - interface mobile - classe 1582   agr-li - interface mobile - classe 1
582 agr-li - interface mobile - classe 1
 
2016_js_react.pdf
2016_js_react.pdf2016_js_react.pdf
2016_js_react.pdf
 
Introduction à Hibernate p.1
Introduction à Hibernate p.1Introduction à Hibernate p.1
Introduction à Hibernate p.1
 
Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partager
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EE
 
Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)
 
GtugDakar AppEngine, Gwt
GtugDakar AppEngine, GwtGtugDakar AppEngine, Gwt
GtugDakar AppEngine, Gwt
 
Rapport tp3 j2ee
Rapport tp3 j2eeRapport tp3 j2ee
Rapport tp3 j2ee
 
Chapitre 1-Composants et Modules.pdf
Chapitre 1-Composants et Modules.pdfChapitre 1-Composants et Modules.pdf
Chapitre 1-Composants et Modules.pdf
 
Chapitre 1-Composants et Modules.pdf
Chapitre 1-Composants et Modules.pdfChapitre 1-Composants et Modules.pdf
Chapitre 1-Composants et Modules.pdf
 
react-fr.pdf
react-fr.pdfreact-fr.pdf
react-fr.pdf
 
Javascript pour les Développeurs WEB
Javascript pour les Développeurs WEBJavascript pour les Développeurs WEB
Javascript pour les Développeurs WEB
 
Linq et Entity framework
Linq et Entity frameworkLinq et Entity framework
Linq et Entity framework
 
Cours 2 les composants
Cours 2 les composantsCours 2 les composants
Cours 2 les composants
 
Support de Cours JSF2 Première partie Intégration avec Spring
Support de Cours JSF2 Première partie Intégration avec SpringSupport de Cours JSF2 Première partie Intégration avec Spring
Support de Cours JSF2 Première partie Intégration avec Spring
 
Java- LT informatique
Java-  LT informatiqueJava-  LT informatique
Java- LT informatique
 
Présentation de JavaServer Faces
Présentation de JavaServer FacesPrésentation de JavaServer Faces
Présentation de JavaServer Faces
 

Dernier

Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
ssuserc72852
 
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
Faga1939
 

Dernier (13)

Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptx
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 

cours dev d'applications web moderne avec ReactJS

  • 1. Développement Web Moderne avec REACTJS Présenté par : JADLI AISSAM jadliaissam@gm ail.com /in/jadli-aissam- 86a69843 SÉANCE 2
  • 2. SOMMAIRE Les Composants Les Props Le State Data Flow Mr. JADLI AISSAM 2
  • 3. Mr. JADLI AISSAM 3 Les Composants Les composants vous permettent de découper l’interface utilisateur en éléments indépendants et réutilisables, vous permettant ainsi de considérer chaque élément de manière isolée. Conceptuellement, les composants sont comme des fonctions JavaScript. Ils acceptent des entrées quelconques (appelées « props ») et renvoient des éléments React décrivant ce qui doit apparaître à l’écran. Les Composants Les Props Le State Data Flow
  • 4. Mr. JADLI AISSAM 4 Types de Composants Le moyen le plus simple de définir un composant consiste à écrire une fonction JavaScript : Cette fonction est un composant React valide car elle accepte un seul argument « props » contenant des données, et renvoie un élément React. Nous appelons de tels composants des « fonctions composants », car ce sont littéralement des fonctions JavaScript Vous pouvez également utiliser une classe ES6 pour définir un composant : Fonction composant Composant à base de classe Les Composants Les Props Le State Data Flow
  • 5. Mr. JADLI AISSAM 5 Styles Comment ajouter des classes CSS aux composants ? ❑ En passant une chaîne à la prop className; Les classes CSS peuvent dépendre des props ou de l’état local du composant ❑ Utiliser des styles en ligne; L’attribut style accepte un objet JavaScript avec des propriétés en camelCase plutôt qu’une chaîne de caractères CSS. Les Composants Les Props Le State Data Flow
  • 6. Mr. JADLI AISSAM 6 Styles Comment ajouter des classes CSS aux composants ? ❑ Vous pouvez écrire votre style CSS dans un fichier séparé, simplement enregistrer le fichier avec l'extension de fichier .css et l'importer dans votre application. ❑ Une autre façon d'ajouter des styles à votre application est d'utiliser des modules CSS. Les modules CSS sont pratiques pour les composants qui sont placés dans des fichiers séparés App.css mystyle.module.css Les Composants Les Props Le State Data Flow
  • 7. 7 Styles React ajoute automatiquement le suffixe px (pixel) à certaines propriétés numériques de style. Si vous voulez une autre unité que « px », spécifiez la valeur sous forme de chaîne de caractères avec l’unité désirée. N.B : Toutes les propriétés de style ne sont pas systématiquement converties en pixels pour autant. Certaines restent sans unité (ex. zoom, order, flex). Les Composants Les Props Le State Data Flow
  • 8. 8 Styles : Le FlexBox Flexbox n'a rien à voir avec React. Cela existait bien avant, ce n'est donc pas une création made in Facebook. C'est un mode de mise en page, utilisé sur du web à la base, permettant de gérer les tailles et les positions des éléments dynamiquement. Avec Flexbox, on pense et on construit nos vues comme des boîtes flexibles qui s'ajustent entre elles. Les Composants Les Props Le State Data Flow
  • 9. 9 Styles : Le FlexBox L'idée principale derrière la disposition flexible est de donner au conteneur la possibilité de modifier la largeur / hauteur de ses enfants (et l'ordre) pour remplir au mieux l'espace disponible (principalement pour s'adapter à tous les types de dispositifs d'affichage et de tailles d'écran). Un conteneur flexible développe les éléments pour remplir l'espace libre disponible ou les réduit pour éviter le débordement. Les Composants Les Props Le State Data Flow
  • 10. 10 Styles : Le FlexBox Exemples propriétés Flexbox Les Composants Les Props Le State Data Flow
  • 11. 11 Les Props Un composant React est un composant réutilisable qui peut être utilisé maintes et maintes fois dans l'interface utilisateur, mais nous n'allons pas toujours rendre le même composant avec les mêmes données. Parfois, nous devons modifier les données ou le contenu d'un composant. C'est pourquoi les props sont introduits dans React. Les props sont transmis au composant React en utilisant des attributs, puis nous pouvons y accéder à l'intérieur du composant en utilisant simplement « this.props ». Les Composants Les Props Le State Data Flow Mr. JADLI AISSAM
  • 12. 12 Les Props Les props sont disponibles dans le composant en Lecture seule (read-only) et ne peuvent être modifiés. Les données passées à travers les props, peuvent être envoyées de deux façons différentes selon la nature de la variable : ❑ En assignant directement la valeur à l’attribut dans le cas des chaînes de caractères. ❑ En utilisant les accolades dans le cas des objets JavaScript ou les autres types class App extends React.Component { render() { const banner = { title : "Banner Title", content : "Banner Content" } return ( <div> <Header title="This is a Title" banner={banner} /> </div> ); } } class Header extends React.Component { render() { return ( <div> <h1>{this.props.title}</h1> <h2>{this.props.banner.title}</h2> <p>{this.props.banner.content}</p> </div> ); } } Les Composants Les Props Le State Data Flow
  • 13. 13 Validation de types avec PropTypes Les Composants Les Props Le State Data Flow Au fur et à mesure que votre application grandit, vous pouvez détecter un grand nombre de bugs grâce à la validation de types et React possède ses propres fonctionnalités de validation de types. Pour lancer la validation de types des props d’un composant, nous devons ajouter la propriété spéciale propTypes.
  • 14. 14 Validation de types avec PropTypes Les Composants Les Props Le State Data Flow PropTypes exporte un ensemble de validateurs qui peuvent être utilisés pour s’assurer que la donnée qu’on reçoit est valide. Quand une valeur non valide est fournie à une prop, un message d’avertissement apparaîtra dans la console JavaScript. Pour des raisons de performances, propTypes n’est vérifiée qu’en mode développement
  • 15. 15 DefaultProps Les Composants Les Props Le State Data Flow Vous pouvez définir des valeurs par défaut pour vos props en utilisant la propriété spéciale nommée defaultProps. Les defaultProps seront utilisées pour s’assurer que le prop aura une valeur si elle n’était pas spécifiée par le composant parent. La validation de types des propTypes aura lieu après que defaultProps est résolu, la validation de types s’applique donc également aux defaultProps
  • 16. 16 L’Etat (State) Passer uniquement des props d'un composant à un autre ne rend pas le composant interactif, car les props sont en lecture seule. C'est le moment où l’état (state) qui est lui modifiable à volonté entre en jeu. Le state correspond à l’état local du composant. On peut y stocker des variables de tout type (valeurs numériques, chaînes de caractères, tableaux, … etc.). Les Composants Les Props Le State Data Flow
  • 17. 17 L’Etat (State) La modification du state se fait grâce à la méthode setState() ce qui provoque une réexécution de la méthode render() du composant. Pour utiliser le state dans un composant, il faut l’initialiser dans le constructeur du composant, ensuite, le state est accessible grâce à this.state. Le changement dans le state d’un composant rafraîchit tout les composants enfants du composant. Les Composants Les Props Le State Data Flow
  • 18. 18 Data Flow Plusieurs composants ont souvent besoin de refléter les mêmes données dynamiques. C’est pourquoi il est souvent de pratique de faire remonter l’état partagé dans leur ancêtre commun le plus proche. Les Composants Les Props Le State Data Flow Dans React, il existe 2 façons de réaliser des échanges d’information: ❖ Les props : Depuis un composant vers les composants enfants ❖ Les callbacks : On peut envoyer des fonctions vers les composants enfants en utilisant les props
  • 19. 19 Callbacks Au lieu de transmettre une partie de l'état à un composant enfant, le parent peut transmettre une fonction de rappel (callback). Cette fonction de rappel est exécutée ultérieurement, généralement via une interaction avec le composant enfant. Le but de cette fonction de rappel est de modifier une partie de l'état qui fait partie du composant parent. Cela ferme la boucle de données. Les Composants Les Props Le State Data Flow
  • 21. Tester vos Connaissances Mr. JADLI AISSAM 21
  • 22. Mr. JADLI AISSAM 22 React Quiz Un Composant React peut être défini en tant que ___ ❑ Un tableau de propriétés ❑ Une fonction JS qui n’accepte aucun paramètre ❑ Une Classe ES6 étendant la classe Component ❑ Une fonction JS qui accepte un seul paramètre 1
  • 23. Mr. JADLI AISSAM 23 React Quiz La casse des styles JSX définis en ligne est ___ ❑Pas de Casse ❑CamelCase ❑PascalCase 2
  • 24. Mr. JADLI AISSAM 24 React Quiz Le FlexBox est ___ ❑ Une exclusivité ReactJS ❑Utilisé pour obtenir un design responsive ❑Utilisé pour définir l’architecture de la page ❑Utilisé pour réaliser des animations CSS 3
  • 25. Mr. JADLI AISSAM 25 React Quiz La propriété justifyContent permet de ___ ❑ Définir l’alignement sur l’axe secondaire ❑Définir l’alignement sur l’axe principal ❑Définir la taille du contenu ❑Définir la couleur du contenu 4
  • 26. Mr. JADLI AISSAM 26 React Quiz Les props d’un composant représentent ___ ❑Son résultat d’affichage ❑Ses paramètres ❑Son comportement 5
  • 27. Mr. JADLI AISSAM 27 React Quiz Choisir la (les) syntaxes correctes pour l’envoi d’un prop : ❑<Welcome name={Alex} /> ❑<Welcome name={‘Alex’} /> ❑<Welcome age={25} /> ❑<Welcome age=25 /> 6
  • 28. Mr. JADLI AISSAM 28 React Quiz L’état (State) est sauvegardée dans ___ ❑Le composant principal de l’application (nommé root) ❑Le composant parent ❑L’intérieur de chaque composant ❑Un fichier texte 7
  • 29. Mr. JADLI AISSAM 29 React Quiz Sélectionner le(s) réponse(s) juste(s) : 8 ❑Les props sont immutable mais l’état change ❑L’état est immutable mais les props changent ❑Les props et l’état changent ❑Les props et l’état sont immutable
  • 30. Mr. JADLI AISSAM 30 React Quiz Pour changer l’état d’un composant ___ ❑Modifier directement la valeur this.state ❑Utiliser la méthode changeState() ❑ Utiliser la méthode setState() ❑Appeler la méthode render() 9
  • 31. Mr. JADLI AISSAM 31 React Quiz Un Composant peut ___ ❑ Recevoir des données depuis sont parent ❑ Envoyer des données à son parent ❑ Envoyer directement des données au composant voisin ❑ Exécuter des méthodes dans le composant parent 10