Kaedah: 1. Gunakan "const [arr, setArr]=useState([change value])" untuk mengubah suai nilai State 2. Buat tatasusunan baharu dan tetapkan nilai tatasusunan asal kepada yang baharu tatasusunan. Dan gunakan "setState (tatasusunan baharu)" untuk mengubah suai Negeri dan menukar alamat yang ditunjukkan oleh tatasusunan asal dalam timbunan.
Persekitaran pengendalian tutorial ini: Sistem Windows 10, bertindak balas versi 17.0.1, komputer Dell G3.
Pemantauan cetek lalai dalam React ialah apabila nilai State ialah objek, rujukan (alamat) daripada objek disimpan dalam tindanan, dan apa yang diubah oleh setState ialah Data dalam timbunan
Jadi selepas setArr(arr), alamat dalam tindanan masih alamat asalnya , jadi ia berpendapat Negeri tidak berubah, jadi ia tidak memaparkan semula halaman
Penyelesaian
Idea: Tukar alamat yang ditunjukkan oleh arr asal dalam tindanan
Contohnya adalah seperti berikut:
1) Tetapkan secara langsung (nilai yang akan diubah suai)
const [arr, setArr] = useState([]) setArr(1)
2) Cipta tatasusunan baharu newArr, tetapkan nilai tatasusunan asal kepada tatasusunan baharu dan setState(newArr)
const [arr, setArr] = useState([]) const newArr = arr.slice(1) setArr(newArr)
Gunakan aksara pengembangan ES6
const [arr, setArr] = useState([]) setArr([...arr])
Pembelajaran yang disyorkan: "tutorial video reaksi"
Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika usestate in react tidak dipaparkan apabila menukar nilainya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!