Ajukan pertanyaan Anda dan dapatkan ringkasan dokumen dengan merujuk halaman ini dan penyedia AI pilihan Anda
Konten halaman ini diterjemahkan menggunakan AI.
Lihat versi terakhir dari konten aslinya dalam bahasa InggrisJika Anda memiliki ide untuk meningkatkan dokumentasi ini, silakan berkontribusi dengan mengajukan pull request di GitHub.
Tautan GitHub ke dokumentasiSalin Markdown dokumentasi ke clipboard
Hook useRewriteURL
Hook useRewriteURL dirancang untuk mengelola penulisan ulang (rewrite) URL terlokalisasi di sisi klien. Hook ini secara otomatis mendeteksi apakah URL saat ini harus dikoreksi menjadi versi terlokalisasi yang "lebih rapi" berdasarkan locale pengguna dan aturan rewrite yang didefinisikan di intlayer.config.ts.
Berbeda dengan navigasi standar, hook ini menggunakan window.history.replaceState untuk memperbarui URL di bilah alamat tanpa memicu pemuatan ulang halaman penuh atau siklus navigasi router.
Penggunaan
Panggil hook ini dalam komponen sisi klien.
Cara kerjanya
- Deteksi: Hook memantau
window.location.pathnamesaat ini danlocalepengguna. - Pencocokan: Hook menggunakan mesin internal Intlayer untuk memeriksa apakah pathname saat ini cocok dengan rute kanonis yang memiliki alias terlokalisasi yang lebih "cantik" untuk
localesaat ini. - Koreksi URL: Jika alias yang lebih baik ditemukan (dan berbeda dari path saat ini), hook memanggil
window.history.replaceStateuntuk memperbarui URL di browser sambil mempertahankan konten kanonis dan state yang sama.
Mengapa menggunakannya?
- SEO: Memastikan pengguna selalu mendarat pada satu URL yang 'cantik' dan menjadi otoritatif untuk bahasa tertentu.
- Konsistensi: Mencegah ketidakkonsistenan di mana pengguna mungkin mengetik path kanonis secara manual (mis.
/fr/privacy-notice) alih-alih versi yang dilokalkan (/fr/politique-de-confidentialite). - Performa: Memperbarui bilah alamat tanpa memicu efek samping router yang tidak diinginkan atau re-mount komponen.