Rumah > Artikel > hujung hadapan web > Di mana untuk meletakkan permintaan http bertindak balas
Permintaan React http harus diletakkan dalam componentDidMount untuk operasi, iaitu untuk permintaan tak segerak, permintaan rangkaian react boleh diletakkan dalam componentWillMount, yang biasanya digunakan kurang kerap.
Persekitaran pengendalian tutorial ini: Sistem Windows 10, bertindak balas versi 18.0.0, komputer Dell G3.
Di manakah permintaan http tindak balas diletakkan? Dalam kitaran hayat manakah permintaan rangkaian React harus diletakkan?
Secara amnya, untuk permintaan tak segerak, adalah lebih baik untuk mengendalikannya dalam componentDidMount Untuk perubahan keadaan segerak, ia boleh diletakkan dalam componentWillMount, yang biasanya kurang digunakan.
Jika anda berpendapat bahawa memulakan permintaan dalam componentWillMount boleh mendapatkan hasil awal, idea ini sebenarnya salah Biasanya componentWillMount tidak lebih awal daripada componentDidMount Sebarang kelewatan pada rangkaian, perbezaan ini boleh diabaikan.
Lihat kitaran hayat tindak balas:
constructor() ----> componentWillMount() ----> render() ----> componentDidMount()
Kaedah di atas dipanggil mengikut urutan, dari atas ke bawah.
Pembina dipanggil pada awal-awal lagi apabila komponen sedia untuk dipasang Pada masa ini, komponen belum lagi dipasang pada halaman web.
Kaedah componentWillMount dipanggil selepas pembina dan sebelum pemaparan Kod dalam kaedah ini yang memanggil kaedah setState tidak akan mencetuskan pemaparan semula, jadi ia biasanya tidak digunakan untuk memuatkan data.
Kod dalam kaedah componentDidMount hanya akan dipanggil dan dilaksanakan selepas komponen telah dipasang sepenuhnya pada halaman web, jadi pemuatan data boleh dijamin. Di samping itu, memanggil kaedah setState dalam kaedah ini akan mencetuskan pemaparan semula. Oleh itu, kaedah ini direka secara rasmi untuk memuatkan data luaran atau mengendalikan kod kesan sampingan yang lain. Pemuatan yang tiada kaitan dengan data pada komponen juga boleh dilakukan dalam pembina, tetapi pembina bertanggungjawab untuk memulakan keadaan komponen, bukan memuatkan data SetState tidak boleh ditetapkan dalam pembina, dan masa memuatkan terlalu lama atau Jika ralat berlaku, halaman tidak boleh dimuatkan. Oleh itu, kod dengan kesan sampingan akan tertumpu dalam kaedah componentDidMount.
Ringkasan:
1 Ia berkaitan dengan pemaparan sebelah pelayan (isomorphism Jika data diperoleh dalam componentWillMount, ambil data akan dilaksanakan dua kali, sekali pada pelayan tamat sekali di sisi klien. Masalah ini boleh diselesaikan dalam componentDidMount componentWillMount juga akan dipaparkan dua kali.
2. Ambil data dalam componentWillMount Data mesti tiba selepas pemaparan Jika anda terlupa untuk menetapkan keadaan awal, pengalaman pengguna akan menjadi buruk.
3 Selepas react16.0, componentWillMount boleh dilaksanakan beberapa kali.
Pembelajaran yang disyorkan: "tutorial video bertindak balas"
Atas ialah kandungan terperinci Di mana untuk meletakkan permintaan http bertindak balas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!