Méthode : 1. Utilisez "const [arr, setArr]=useState([change value])" pour modifier la valeur de l'état ; 2. Créez un nouveau tableau, attribuez la valeur du tableau d'origine au nouveau tableau et utilisez "setState( New array)" pour modifier l'état et changer l'adresse pointée par le tableau d'origine dans la pile.
L'environnement d'exploitation de ce tutoriel : système Windows 10, React version 17.0.1, ordinateur Dell G3.
L'écoute superficielle par défaut dans React est que lorsque la valeur State est un objet, la référence (adresse) de l'objet est stockée dans le stack, et setState modifie les données dans le tas
Donc, après setArr(arr), l'adresse dans la pile est toujours l'adresse d'origine. React détecte que l'adresse n'a pas changé, il pense donc que l'état n'a pas changé, afin que la page ne soit pas restituée
Solution
Idée : Remplacer l'adresse d'arrivée d'origine dans la pile Changez simplement l'adresse pointée
Les exemples sont les suivants :
1) Directement setState (valeur à modifier )
const [arr, setArr] = useState([]) setArr(1)
2) Créez un nouveau tableau newArr, attribuez la valeur du tableau d'origine au nouveau tableau et setState(newArr )
const [arr, setArr] = useState([]) const newArr = arr.slice(1) setArr(newArr)
Utilisez l'expandeur ES6
const [arr, setArr] = useState([]) setArr([...arr])
Apprentissage recommandé : "Tutoriel vidéo React"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!