diff --git a/README.md b/README.md index 8eda85bc3df0f59eed54b7052f01c9e5d389375f..95040d5bcc6e854fe2067c7883fc1f104e567023 100644 --- a/README.md +++ b/README.md @@ -56,10 +56,11 @@ où `tag` peut prendre comme valeur : voir `/src/components/person.component.jsx` * `v5.7` : utilisation du hook `useRef` et complément dépendances de `useEffect` voir `/src/components/person.component.jsx` -* `v5.8` :mise en oeuvre de la fonction de nettoyage du `useEffect` +* `v5.8` : mise en oeuvre de la fonction de nettoyage du `useEffect` + voir `/src/components/person.component.jsx` +* `v5.9` : mise en oeuvre de la fonction de nettoyage du `useEffect`, appel à chaque exécution du hook voir `/src/components/person.component.jsx` - Faire ```git checkout main``` pour revenir à la version finale. diff --git a/src/components/person.component.jsx b/src/components/person.component.jsx index 396f9842516a73d5f4427df04d92763568588701..5ff4dcda831ec615e2adeac866ae505ce84588a8 100644 --- a/src/components/person.component.jsx +++ b/src/components/person.component.jsx @@ -7,8 +7,7 @@ const Person = ( { name = 'Anonymous', age, started, delay } ) => { const [ currentAge, setCurrentAge ] = useState(age); const timer = useRef( undefined ); -useEffect( () => { - clearInterval( timer.current ); +useEffect( () => { if (started) { timer.current = setInterval( () => { setCurrentAge( previousCurrentAge => previousCurrentAge + 1 ); @@ -16,7 +15,7 @@ useEffect( () => { }, delay); } return () => { - console.log('cleanup'); + console.log(`cleanup ${delay}`); clearInterval( timer.current ); } }, [started, delay] );