Penyelesaian untuk bertindak balas penghala tidak dipaparkan: 1. Tambahkan browserRouter pada komponen penghalaan induk untuk membalut penghala 2. Gunakan "this.props.history.go()" untuk memuat semula komponen; "forcerefresh={true}" ke parameter browserrouter; 4. Tulis fungsi cangkuk dalam "
" dan panggilnya apabila meninggalkan atau memasuki laluan ini.
Persekitaran pengendalian tutorial ini: Sistem Windows 10, bertindak balas versi 18.0.0, komputer Dell G3.
Apakah yang perlu saya lakukan jika penghala tindak balas tidak dipaparkan?
react-router-dom tidak memaparkan masalah komponen lompat laluan
Senario
Apabila menggunakan laluan cucu untuk melompat ke laluan induk, Tidak kira sama ada anda menggunakan Pautan ke atau this.props.history.push untuk melompat, bar alamat URL berubah, tetapi komponen halaman tidak boleh dimuatkan dan halaman tidak dimuatkan semula. Klik Pautan ke pada laluan induk, kedudukan lompat yang sama, URL kekal tidak berubah, halaman tidak dimuatkan semula, tetapi komponen dimuatkan.
Semak this.props di titik lompat dan laluan sasaran dan dapatkan bahawa selepas lompatan, this.props.history telah menjadi laluan pasca lompatan, tetapi this.props.location masih sepadan dengan laluan asal. Untuk halaman yang memuatkan komponen secara normal, sejarah dan lokasi adalah laluan yang sama.
Penyelesaian
Blogger Baidu mencuba pelbagai kaedah sejak sekian lama sebelum dia menemui sebab sebenar, dia juga memperoleh banyak kaedah menarik yang lain. | Oleh itu, saya menambahkan browserRouter pada komponen penghalaan induk untuk membalut penghala, dan kemudian laluan anak telah dipautkan ke laluan cucu, jadi saya menggunakan browserrouter untuk membalut laluan anak dan memautkannya ke laluan cucu cara, laluan cucu boleh capai lompat adik beradik tanpa sebarang masalah kalau laluan cucu lompat ke laluan anak, tapi kalau laluan cucu lompat ke laluan induk, komponen tidak boleh dimuatkan. Tiada masalah untuk laluan ibu bapa melompat ke laluan anak dan laluan cucu. Inilah ciri-ciri lubang ini.
Jadi saya menganggarkan bahawa maklumat penghalaan terkandung terutamanya dalam penghala penyemak imbas Jika penghala penyemak imbas dimasukkan ke dalam laluan kecil, maklumat penghala pelayar lapisan atas akan hilang.
Beberapa kaedah lain yang diperoleh oleh BaiduAnda boleh menggunakan this.props.history.go() untuk memuat semula komponen Nombor dalam kurungan pergi mewakili sebelumnya satu halaman dan halaman seterusnya, ciri ini adalah muat semula, anda boleh menggunakannya jika anda perlu menyegarkan.
Gunakan kaedah melompat ke halaman kosong dan kemudian melompat ke belakang, tetapi blogger mencubanya dan ia nampaknya tidak berkesan. Anda boleh menambah forcerefresh={true} pada parameter browserrouter, yang menyebabkan setiap laluan melompat dalam pakej di bawah boleh dimuat semula. Ia mungkin berguna di tempat tertentu.
Pembelajaran yang disyorkan: "
tutorial video bertindak balas"
Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika penghala tindak balas tidak dipaparkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!