Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • main
  • v0
  • v0.5
  • v1
  • v2
  • v3
  • v3.1
  • v3.2
  • v4
  • v4.5
  • v4.6
  • v4.6-problem
  • v5
  • v5.1
  • v5.2
  • v5.3
  • v5.5
  • v5.6
  • v5.7
  • v5.8
  • v5.9
  • v6
  • v6.1
  • v6.2
  • v7
  • v7.1
26 results

Target

Select target project
  • melissa.belkacemi.etu/intro-react
  • sofia.belkacemi.etu/intro-react
  • javascript/intro-react
3 results
Select Git revision
  • main
  • v0
  • v0.5
  • v1
  • v2
  • v3
  • v3.1
  • v3.2
  • v4
  • v4.5
  • v4.6
  • v4.6-problem
  • v5
  • v5.1
  • v5.2
  • v5.3
  • v5.5
  • v5.6
  • v5.7
  • v5.8
  • v5.9
  • v6
  • v6.1
  • v6.2
  • v7
  • v7.1
26 results
Show changes
Commits on Source (2)
......@@ -52,7 +52,8 @@ où `tag` peut prendre comme valeur :
voir `/src/components/star.jsx` (et `/src/components/person.component.jsx`)
* `v5.5` : cycle de vie du composant : utilisation du hook `useEffect` pour agir au moment de la création du composant : juste après le premier rendu.
voir `/src/components/personListing.component.jsx` ainsi que `/src/components/person.component.jsx`
* `v 5.6` : utilisation des dépendances du hook `useEffect` pour déclencher son effet
voir `/src/components/person.component.jsx`
Faire ```git checkout main``` pour revenir à la version finale.
......
import { useState, useEffect } from 'react';
// import stysheet defining style specific to this component
import '../assets/style/person.css';
/*
* define a component that uses props, props is a javascript object
*/
const Person = ( { name = 'Anonymous', age, started, delay } ) => {
const [ currentAge, setCurrentAge ] = useState(age);
useEffect( () => {
if (started) {
setInterval( () => setCurrentAge( previousCurrentAge => previousCurrentAge + 1 ), delay);
}
}, []);
}, [started]);
return (
<div className="person">Here is :
......
......@@ -13,7 +13,7 @@ const PersonListing = props => {
const [persons, setPersons ] = useState([]);
const fetchData = async () => {
const data = await mockFetch('http://source.of.data/persons',1000);
const data = await mockFetch('http://source.of.data/persons',10);
setPersons( data );
}
......
......@@ -8,6 +8,11 @@ const persons = [
id: 'A002',
name: "Bilbo Baggins",
age: 111
},
{
id: 'A003',
name: "Frodo Baggins",
age: 33
}
];
......
import { createRoot } from 'react-dom/client';
import PersonListingController from '../components/personListingController.component.jsx';
import { StrictMode } from 'react';
const bootstrapReact = () => {
const root = createRoot(document.getElementById('insertReactHere'));
const component = <PersonListingController />;
const component = <StrictMode><PersonListingController /></StrictMode>;
root.render(component);
}
......