Methode: 1. Verwenden Sie „const [arr, setArr]=useState([change value])“, um den Statuswert zu ändern. 2. Erstellen Sie ein neues Array, weisen Sie den Wert des ursprünglichen Arrays dem neuen Array zu und verwenden Sie es „setState(Neues Array)“, um den Status zu ändern und die Adresse zu ändern, auf die das ursprüngliche Array im Stapel zeigt.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, Reaktionsversion 17.0.1, Dell G3-Computer.
Das standardmäßige flache Abhören in React besteht darin, dass die Referenz (Adresse) des Objekts im Stapel gespeichert wird. und setState ändert die Daten im Heap
Nach setArr(arr) ist die Adresse im Stapel immer noch die ursprüngliche Adresse. React erkennt, dass sich die Adresse nicht geändert hat, und geht daher davon aus, dass sich der Status nicht geändert hat Seite wird nicht neu gerendert
Lösung
Idee: Ersetzen Sie den ursprünglichen arr im Stapel. Ändern Sie einfach die angegebene Adresse
Beispiele sind wie folgt:
1) Direkt setState(zu ändernder Wert)
const [arr, setArr] = useState([]) setArr(1)
2) Erstellen Sie ein neues Array „newArr“, weisen Sie dem neuen Array den Wert des ursprünglichen Arrays zu und setzen Sie „State(newArr)“.
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn usestate in React beim Ändern seines Werts nicht gerendert wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!