web-dev-qa-db-fra.com

React hooks - déclenche useEffect lorsqu'une propriété imbriquée change dans une collection d'objets

Une page affiche une liste d'objets [{name:, age:}, ...] Une deuxième page permet de mettre à jour le nom d'un objet particulier. Ensuite, à l'aide de crochets, comment dois-je implémenter useEffect() pour que la liste de la page d'accueil ne soit mise à jour que lorsqu'un changement de nom a été détecté?

const [objects, setObjects] = useState([]);

useEffect(()=> {
  getAllObjects()
},[getAllObjects, objects]);
11
Yannick

Au lieu de passer l'intégralité de l'objet au tableau de dépendances, assurez-vous de ne transmettre que le nom. Ce que vous pouvez faire en renvoyant les noms

const [objects, setObjects] = useState([])

useEffect(()=> {
      getAllObjects()
}, [getAllObjects, ...objects.map(item => item.name)])
5
Shubham Khatri