Rumah  >  Artikel  >  hujung hadapan web  >  Apakah keadaan set dalam tindak balas

Apakah keadaan set dalam tindak balas

WBOY
WBOYasal
2022-04-21 17:06:112103semak imbas

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])".

Apakah keadaan set dalam tindak balas

Persekitaran pengendalian tutorial ini: Sistem Windows 10, bertindak balas versi 17.0.1, komputer Dell G3.

Apakah setstate in react?

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)).

Gunakan

pengemas 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)
      })
stateChange ialah objek,
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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn