Code très simple ici. Je me demande si c'est le résultat attendu. Je mettant la mise à niveau d'un module npm
et cela nécessite que je passe ces éléments à useState
qui n'était pas nécessaire auparavant. Malheureusement, je suppose que cela ne peut pas être fait avec useState
? Ai-je raison? J'aimerais avoir tort.
Où props.items
Contient un tableau de classe React Composants, useState
renvoie un tableau vide:
const [items, set] = useState(props.items);
* Remarque, les images utilisent la propagation de la propagation de la matrice parce que je suis à l'abri des idées, retravaillez toutes les choses.
Vous ne devriez avoir aucun problème avec l'utilisation de la matrice de réact d'élément comme entrée pour usestate. Mais, chaque fois que vous initialisez votre état avec des accessoires provenant du parent, vous devez également ré-mettre à jour votre état une fois que le pro de parent change. Sinon, il dirigera le vieil état passé du parent au premier passage. Et la voie à suivre est de faire un setitems avec UseEffect Crochet
useEffect(() => {
setItems(props.items)
}, [props.items])
bTW Ceci ne fera que vérifier l'égalité de référence entre l'ancien et le nouveau tableau, si vous souhaitez faire une comparaison approfondie, vous devez probablement utiliser quelque chose comme tiliser-profusion-effet