Blog Alphorm Logo de blog informatique spécialisé en technologie et solutions IT
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Exercice 3 : Utiliser useState et useEffect dans un Composant Fonctionnel React
Agrandisseur de policeAa
Blog AlphormBlog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Search
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Suivez-nous
© Alphorm 2024 - Tous droits réservés
Développement

Exercice 3 : Utiliser useState et useEffect dans un Composant Fonctionnel React

L'Équipe Alphorm Par L'Équipe Alphorm 18 janvier 2025
Partager
9e lecture en min
Partager
Cet article fait partie du guide Tutoriel React JS : Apprenez à Créer des Applications Modernes avec des Projets Concrets, partie 7 sur 13.

Réaliser un affichage en temps réel dans une application ReactJS, comme l’heure actuelle, peut être difficile sans une bonne maîtrise du hook useEffect.

Une mauvaise utilisation de useEffect peut causer des ralentissements ou des erreurs, compromettant la performance et l’expérience utilisateur.

Cet exercice useEffect ReactJS vous guide pas à pas pour afficher l’heure en temps réel avec un code optimisé et performant, en utilisant les meilleures pratiques du hook useEffect. Découvrez comment simplifier ce processus dans cet article.

Table de matière
Exercice pratique avec useEffect ReactJSConclusion

Exercice pratique avec useEffect ReactJS

Après avoir exploré la théorie, nous allons maintenant passer à la pratique et aborder un nouvel exercice. Dans cette phase d’application des concepts récemment étudiés sur le hook useEffect Reactjs, nous allons travailler ensemble sur le développement d’un exercice visant à afficher l’heure actuelle en temps réel.

Heure actuelle affichée en temps réel via hook UseEffect ReactJS
Exemple d'utilisation du hook useEffect pour l'heure en temps réel.

Notre but est d’afficher l’heure en temps réel, avec une mise à jour chaque seconde, et cela devient simple grâce à l’utilisation du hook useEffect Reactjs. Sans plus attendre, commençons à créer le composant : src/component/heure.js

				
					export default function Heure(){
return(
<div>
<h3>Heure actuelle</h3>
<p>Heure:</p>
</div>
)
}
				
			


Importer le dans le fichier index.js

				
					import React from 'react';
import ReactDOM from 'react-dom/client';
import Heure from './component/heure';
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<React.StrictMode>
<Heure />
</React.StrictMode>
);
				
			


Vous démarrez l’application en exécutant la commande :

				
					npm start
				
			


Une fois que tout est en ordre, vous obtenez ce résultat sur votre navigateur.

Résultat de la commande npm start pour démarrer une application React.
Vue d'une application React lancée avec npm start


Par la suite , on va utiiser de props dans notre composant pour bien pratiquer les notions que nous avons appris précédemment .

Voyons la modification auniveau de notre composant Heure alors :

Src/component/heure.js

				
					import {useState} from "react"
export default function Heure({children}){
//declaration de l'heure actuelle
let heureActuelle = new Date();
// Declaration d'un etat heure
const [heure,setHeure] = useState(heureActuelle)
return(
<div>
<h3>{children}</h3>
<p>{heure.toLocaleTimeString()}</p>
</div>

)
}
				
			

Formation React 18 - Maîtriser la Création d'Interfaces Interactives

Dominez la création d'interfaces modernes avec React 18 et ses nouvelles fonctionnalités!

Découvrir cette formation
formation IT en ligne pour améliorer vos compétences techniques et professionnelles

Importation du hook useState

				
					import {useState} from "react"
				
			

Cette ligne importe le hook useState depuis la bibliothèque React. Le hook useState est utilisé pour déclarer un état local dans un composant fonctionnel.

Exercice UseEffect Reactjs : Définition du composant Heure

				
					export default function Heure({children})
				
			

Le composant est défini comme une fonction React appelée Heure. Il prend un prop children en tant que paramètre, qui peut contenir des éléments enfants à afficher à l’intérieur du composant.

Exercice UseEffect Reactjs : Déclaration de l'heure actuelle 

				
					let heureActuelle = new Date();
				
			


Une instance de l’objet Date est créée pour représenter l’heure actuelle.

Déclaration d'un état avec le hook useState

				
					const [heure,setHeure] = useState(heureActuelle) ;
				
			


Le hook useState est utilisé pour déclarer une variable d’état heure et une fonction setHeure qui permettra de mettre à jour cet état. La valeur initiale de l’état est définie comme étant l’heure actuelle.

Rendu JSX avec le hook UseEffect Reactjs

				
					return(
<div>
<h3>{children}</h3>
<p>{heure.toLocaleTimeString()}</p>
</div>
)
				
			


Le composant retourne du JSX qui inclut un élément <div> contenant un titre <h3> (qui affiche le contenu des enfants) et un paragraphe <p> qui affiche l’heure actuelle sous forme de chaîne de caractères formatée en utilisant toLocaleTimeString().

Importer maintenant notre composant dans le fichier index.js pour l’appeler :

Index.js :

				
					import React from 'react';
import ReactDOM from 'react-dom/client';
import Heure from './component/heure';
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<React.StrictMode>
<Heure children='Heure actuelle'/>
</React.StrictMode>
);
				
			

Rendu du composant Heure dans la racine

				
					root.render(
<React.StrictMode>
<Heure children='Heure actuelle'/>
</React.StrictMode>
);
				
			


Le composant Heure est rendu dans la racine préalablement créée, en transmettant une valeur de prop children au composant enfant.

Et en démarrant votre application :

				
					npm start
				
			


Cela vous donne :

Démarrage de l'application React avec la commande npm start.
Lancement de l'application React via npm start


Ajouter un peu de styles pour la mise en page de notre page maintenant :

Src/styles/heure.css

				
					div{
background-color:bisque;
padding: 25px;
border-radius:9px;
text-align: center;
font-family: Arial, Helvetica, sans-serif;
}
div p{
font-family: Georgia, 'Times New Roman', Times, serif;
color: brown;
}
				
			

Index.css 

				
					body {
background-color:chocolate;
height : 100vh;
display: flex;
margin: 0;
justify-content: center;
align-items: center;
}
				
			


En important ces fichiers dans le fichier respectifs :Index.js :

				
					import React from 'react';
import ReactDOM from 'react-dom/client';
import Heure from './component/heure';
import './styles/index.css'
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<React.StrictMode>
<Heure children='Heure actuelle'/>
</React.StrictMode>
);
				
			


Src/component/heure.js

				
					import {useState} from "react"
import '../styles/heure.css'
export default function Heure({children}){
//declaration de l'heure actuelle
let heureActuelle = new Date();
// Declaration d'un etat heure
const [heure,setHeure] = useState(heureActuelle)
return(
<div>
<h3>{children}</h3>
<p>{heure.toLocaleTimeString()}</p>
</div>
)
}
				
			


Tout cela nous donne un résultat comme ceci :

Résultat final d'une application React après son exécution.
Visualisation du résultat final de l'application React

Nous sommes sur le point d’atteindre notre objectif. La dernière étape consiste simplement à ajouter la fonctionnalité pour afficher l’heure en temps réel, c’est là que le hook useEffect  Reactjs entre en jeu. Pour cela, examinons les modifications dans notre composant heure.js.

				
					import {useEffect, useState} from "react"
import '../styles/heure.css'
export default function Heure({children}){
//declaration de l'heure actuelle
let heureActuelle = new Date();
// Declaration d'un etat heure
const [heure,setHeure] = useState(heureActuelle)
useEffect(()=>{
setInterval(()=>{
setHeure(new Date)
},[heure])
})
return(
<div>
<h3>{children}</h3>
<p>{heure.toLocaleTimeString()}</p>
</div>
)
}
				
			


Il y a l’extrait de code :

				
					useEffect(()=>{
setInterval(()=>{
setHeure(new Date)
},[heure])
})
				
			


UseEffect
: useEffect est un hook qui permet d’effectuer des effets de bord dans un composant fonctionnel React. Il est généralement utilisé pour gérer des opérations telles que des appels réseau, des abonnements à des événements, ou dans ce cas, des mises à jour périodiques.

setInterval : setInterval est une fonction JavaScript qui exécute une fonction à intervalles réguliers, définis en millisecondes.

Mise à jour de l’heure : À l’intérieur de la fonction passée à setInterval, setHeure(new Date()) est appelé. Cela met à jour l’état de l’heure avec une nouvelle instance de l’objet Date, représentant ainsi l’heure actuelle.

 

Exercice UseEffect Reactjs : Dépendance heure dans le tableau de dépendances de useEffect Reactjs

useEffect prend un tableau de dépendances en deuxième argument. Ici, [heure] est spécifié, ce qui signifie que l’effet (la fonction à l’intérieur de useEffect) ne sera réexécuté que si la valeur de heure change.

Démarrer votre application maintenant pour voir le résultat :

				
					Npm start
				
			
image d'un démarrage d'application React après modifications de code
Nouveau démarrage de l'application React après des mises à jour


Mission accomplie, notre tâche est achevée avec succès.

Formez-vous gratuitement avec Alphorm !

Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui. Découvrez des cours variés pour tous les niveaux !

Démarrer gratuitement
illustration processus de paiement en ligne avec étapes claires et convivialité

Conclusion

En conclusion, le hook useEffect en ReactJS est un outil puissant pour gérer les effets de bord dans les composants fonctionnels. Que vous débutiez ou que vous cherchiez à perfectionner vos compétences en ReactJS, savoir utiliser useEffect efficacement est crucial. Grâce aux exemples et exercices pratiques présentés, vous devriez maintenant être capable de gérer les effets de bord dans vos applications ReactJS. Continuez à explorer et à expérimenter pour maîtriser pleinement cette fonctionnalité essentielle de ReactJS avec les images ReactJS.

Cet article fait partie du guide Tutoriel React JS : Apprenez à Créer des Applications Modernes avec des Projets Concrets, partie 7 sur 13.
< Comprendre le hook useEffect en ReactJSManipuler les images avec ReactJS >

ÉTIQUETÉ : Reactjs
Facebook
Twitter
LinkedIn
Email
WhatsApp
Par L'Équipe Alphorm
Démocratiser la Connaissance Informatique pour Tous !
Suivre :
L'Équipe Alphorm, c'est la démocratisation de la connaissance informatique. Passionnés et dévoués, nous sommes là pour vous guider vers le succès en rendant la technologie accessible à tous. Rejoignez notre aventure d'apprentissage et de partage. Avec nous, le savoir IT devient une ressource inspirante et ouverte à tous dans un monde numérique en constante évolution.

Derniers Articles

  • Techniques pour gérer les fichiers texte en C#
  • Créer et lire un fichier CSV avec C#
  • JSON : Comprendre et Utiliser Efficacement
  • Créer une Base SQLite dans C#
  • Lecture des données SQLite simplifiée
Laisser un commentaire Laisser un commentaire

Laisser un commentaire Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

Blog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Exercice 3 : Utiliser useState et useEffect dans un Composant Fonctionnel React

© Alphorm - Tous droits réservés