Penyelesaian kepada masalah yang React mempunyai data tetapi tidak dapat memberikannya: 1. Dalam kaedah pembinaan, panggil kaedah getXXX 2. Tetapkan setState dalam kaedah getXXX 3. Apabila permintaan getXXX menerima respons daripada pelayan, Apabila melaksanakan setState, hanya mencetuskan semula pemaparan halaman.
Persekitaran pengendalian tutorial ini: Sistem Windows 10, bertindak balas versi 18.0.0, komputer Dell G3.
Apakah yang perlu saya lakukan jika React mempunyai data tetapi tidak dapat memaparkannya?
react mendapat data latar belakang dan halaman pemaparan tidak dipaparkan
Penerangan masalah:
Hasil yang diingini: Dapatkan data latar belakang dan paparkannya dalam react
Component
akan dipaparkan apabila halaman pertama kali diberikan. percubaan
untuk meminta hasil latar belakang, panggil kaedah dalam pembina getXXX
dan tetapkan hasil daripada kaedah untuk axios
Dalam atribut, Component
state
, dan hasilnya betul console
GetXXX
. Jadi ia hanya boleh menjadi masalah tak segerak react
render
ialah Pembolehubah ahli hasil, hasilnya mestilah kosong, jadi halaman yang diberikan tidak mempunyai data axios
state
kaedah untuk mendapatkan hasil Kemudian gunakan kaedah render
untuk menetapkan keputusan kepada axios
. Akibatnya, ralat dilaporkan semasa berjalan, kerana ia akan menyebabkan gelung tak terhingga, kerana setState
akan mengemas kini halaman, iaitu, memanggil kaedah state
dan memanggil setState
dalam kaedah render
akan menyebabkan gelung tak terhingga render
setState
dalam kaedah getXXX
, supaya halaman akan menjadi dipaparkan dahulu (hasil data kosong), dan apabila permintaan untuk getXXX
diterima daripada pelayan Selepas membalas, pemaparan halaman akan dicetuskan semula apabila setState
dilaksanakan. Oleh kerana masa respons permintaan adalah berkaitan dengan pemprosesan pelayan, apabila masa respons pendek, bahagian hadapan tidak akan melihat hasil data kosong Jika masa respons latar belakang panjang, anda boleh menambah getXXX
komponen pemuatan setState
untuk menunjukkan bahawa ia sedang dijalankanAntd
Spin
Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika bertindak balas mempunyai data tetapi tidak dapat memberikannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!