Lorsque vous cliquez sur "Cliquez sur", la définition est indéfinie. Je dois manquer quelque chose d'évident. Toute idée?
import React, {useEffect, useState} from 'react'; function App() { const {isAction, setIsAction} = useState(false); useEffect(() => { if (isAction) { console.log('use effect'); } }, [isAction, setIsAction]); return ( <div onClick={() => { setIsAction(true); }} > click </div> ); } export default App;
4 Réponses :
Modifier ceci: à p>
import React, {useEffect, useState} from 'react'; function App() { # need to change here just const [isAction, setIsAction] = useState(false); useEffect(() => { if (isAction) { console.log('use effect'); } }, [isAction, setIsAction]); return ( <div onClick={() => { setIsAction(true); }} > click </div> ); } export default App;
Usestate renvoie un tableau avec 2 articles. Vous essayez des objets de déstructuration, mais il doit être Array Destructurant .
const [isAction, setIsAction] = useState(false);
Vous êtes destructurant à la place USESTATE RETURN RETRAY avec 2 éléments. Modifiez ceci: à p> ex: p> J'ai modifié votre exemple pour obtenir un meilleur contexte. Vous pouvez trouver une démo ici: https://stackblitz.com/edit/react-stfhm5 < / p> p>