Rumah > Soal Jawab > teks badan
Apabila saya menggunakan fetch untuk menambah baik data antara muka projek tindak balas hari ini, saya menghadapi masalah yang sukar.
Logik perniagaan ialah: mula-mula tentukan identiti pengguna, dan kemudian tunjukkan kepadanya antara muka yang sepadan.
Tetapi fetch memperoleh data secara tidak segerak, dan hasilnya muncul Halaman pertama dipaparkan, dan kemudian data diminta kembali (permintaan data lebih perlahan daripada pemaparan halaman), dan kemudian status paparan halaman diubah melalui keadaan.
Halaman ini mula-mula memaparkan antara muka, dan kemudian selepas 1 hingga 2 saat, status berubah dan antara muka berubah sekali lagi. Adakah terdapat sebarang penyelesaian?
Sebaik-baiknya terima data dahulu, kemudian selesaikan penghakiman, dan kemudian berikan antara muka.
PHP中文网2017-05-18 11:02:17
Ini sebenarnya sangat mudah Anda melakukan pengendali ternary dalam pengembalian render. Tentukan sama ada data telah diperolehi.
<p>
{this.state.data==null?<p></p>:<YourTemplate/>}
</p>
Idea lain ialah menulis fetch dalam render dan meletakkan templat pulangan dalam fetch's kemudian panggil balik, supaya anda boleh mendapatkan data dan kemudian memberikannya. Saya belum mengujinya lagi, tetapi ia sepatutnya boleh dilakukan.
Jika anda rasa jawapan saya telah menyelesaikan masalah anda, sila klik 采纳答案
Jika anda mempunyai sebarang pertanyaan, sila tanya di ruangan komen.
高洛峰2017-05-18 11:02:17
Dapatkan kotak gesaan pemuatan,
Tunggu sehingga permintaan data selesai sebelum memaparkan halaman
迷茫2017-05-18 11:02:17
Simpan status identiti pengguna dalam localStorage dahulu, dan ambil dari localStorage buat kali pertama