In react, setstate ialah kaedah yang digunakan untuk mengemas kini keadaan komponen; setState() mengubah keadaan komponen dan memberitahu React bahawa ia perlu memaparkan semula komponen ini dan anak-anaknya menggunakan keadaan dikemas kini , sintaksnya ialah "setState(objek, [fungsi panggil balik])".
Persekitaran pengendalian tutorial ini: Sistem Windows 10, bertindak balas versi 17.0.1, komputer Dell G3.
Mengikut penggunaan harian, kami pada asasnya menggunakannya untuk mengemas kini keadaan komponen. Menurut dokumentasi rasmi:
setState() membuat baris gilir perubahan kepada keadaan komponen dan memberitahu React bahawa komponen ini dan subkomponennya perlu dipaparkan semula dengan keadaan yang dikemas kini. Ini ialah cara utama untuk mengemas kini antara muka pengguna sebagai tindak balas kepada pengendali acara dan memproses data pelayan. Untuk prestasi yang lebih baik, React memanggilnya dengan malas dan kemudian mengemas kini berbilang komponen dalam satu laluan. React tidak menjamin bahawa perubahan keadaan akan berkuat kuasa serta-merta.
Menurut penjelasannya, fungsi setState adalah untuk mengantri tugas kemas kini keadaan komponen ke dalam baris gilir tugas, dan bukannya mengemas kini keadaan keadaan dengan segera apabila dipanggil, iaitu setState dianggap sebagai permintaan sebaliknya daripada arahan untuk mengemas kini komponen dengan segera. Oleh itu, apabila anda mendapat nilai keadaan komponen selepas memanggil kaedah setState, anda akan mendapat nilai yang belum dikemas kini.
setState() tidak sentiasa mengemas kini komponen dengan serta-merta. Ia menangguhkan kemas kini dalam kelompok. Ini menjadikan ia berbahaya untuk membaca this.state serta-merta selepas memanggil setState(). Untuk menghapuskan bahaya tersembunyi, sila gunakan fungsi panggil balik componentDidUpdate atau setState (setState(pengemaskini, panggilan balik)).
Gunakanpengemas kini sebagai fungsi yang mengembalikan objek stateChange: (state, props) => stateChange
setState(updater, [callback]),
this.setState(state => ({count: state.count + 1}), () => { // 在状态更新且界面更新之后回调 console.log('test3 setState callback()', this.state.count) })
setState(stateChange, [callback])
panggilan balik ialah fungsi panggil balik pilihan, yang dilaksanakan selepas status dikemas kini dan antara muka dikemas kini
Ringkasan:this.setState({count: this.state.count + 1}), () => { // 在状态更新且界面更新之后回调 console.log('test3 setState callback()', this.state.count) })
Kaedah objek ialah kaedah fungsi Singkatan
Jika keadaan baharu tidak bergantung kepada keadaan asal===> keadaan asal===> Gunakan kaedah fungsi
Jika anda perlu mendapatkan data status terkini selepas setState(), baca dalam fungsi panggil balik kedua
Pembelajaran yang disyorkan: "
tutorial video reaksi"
Atas ialah kandungan terperinci Apakah keadaan set dalam tindak balas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!