Corrigé-DEVOWFS M204 EFMR
Corrigé-DEVOWFS M204 EFMR
Corrigé-DEVOWFS M204 EFMR
Eléments de Correction
Exercice 1 : (4 pts)
3- On utilise quelle fonction pour modifier l’état d’un composant React? (2 pts)
A. this.getState()
B. this.State = {}
1
C. this.setState()
D. this.changeState()
4- La méthode componentDidMount est invoquée quand (2 pts)
A. L’état du composant est mis à jour
B. Le composant est créé pour la première fois
C. Le composant est supprimé
D. Le composant est retiré du DOM
5- Comment faire pour rendre une liste dynamique de composants en fonction des
valeurs d’un tableau. (2 pts)
A. Inclure une boucle for ou while
B. Utiliser la méthode reduce du tableau
C. Utiliser le composant <Each />
D. Utiliser la méthode Array.map()
Exercice 3 : Expliquer l’intérêt des codes suivants : (6 pts)
Code 1
componentDidMount(){
fetch('https://jsonplaceholder.typicode.com/users')
.then((response)=>{ console.log(response); return response.json()})
.then((users)=>{this.setState({utilisateurs:users})})
}
Code 2
import React, { useState, useEffect } from 'react';
function Example() {
const [count, setCount] = useState(0);
useEffect(() => { document.title = `vous avez cliqué ${count} fois`; });
return (
<div>
<p>vous avez cliqué {count} fois</p>
<button onClick={() => setCount(count + 1)}>
Click me
</button>
2
</div>
);
}
1- Ecrire le code du (des) composant(s) permettant d’afficher la liste des voyages comme
présentées dans la page 1 du site (8 pts)
3
<h1>Circuits réguliers</h1>
<div className="row mb-2">
{props.products.map((product) => (
<Product key={product.id} id={product.id} intitule={product.intitule}
prix={product.prix} source={product.source} />
))}
</div>
</main>
)
}
export default Products;
function Detail(props) {
const { id } = useParams();
let product = props.products.find(item => item.id === parseInt(id))
let src = "/pictures/"+product.source;
return (
<main className="container">
<Link to="/">Revenir aux autres circuits</Link><br/>
<img className="bd-placeholder-img w-25" src={src} alt="" />
<p>{product.intitule}</p>
<p>{product.prix}</p>
</main>
);
}
export default Detail;
4
import { Routes, Route } from 'react-router-dom';
import Products from './Components/Products';
import Detail from './Components/Detail';
function App() {
//inclure ici le tableau products
return (
<div className="App">
<Routes>
<Route path="/" element={<Products products={products} />} />
<Route path="/product/:id" element={<Detail products={products} />} />
</Routes>
</div>
);
}
export default App;