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 untuk Next.js adalah sebuah hook sisi-klien yang secara otomatis mengelola rewrite URL yang dilokalkan. Hook ini memastikan bahwa URL di browser selalu mencerminkan jalur terlokalisasi yang "pretty" yang didefinisikan di intlayer.config.ts Anda, bahkan jika pengguna secara manual mengetik jalur kanonik dengan prefix locale.
Hook ini bekerja secara diam-diam dengan menggunakan window.history.replaceState, menghindari navigasi router Next.js yang berulang atau penyegaran halaman.
Penggunaan
Cukup panggil hook ini di Client Component yang merupakan bagian dari layout Anda.
Cara kerjanya
- Pemantauan Path: Hook mendengarkan perubahan pada
localepengguna. - Deteksi Rewrite: Memeriksa
window.location.pathnamesaat ini terhadap aturan rewrite di konfigurasi Anda. - Koreksi URL: Jika ditemukan alias lokal yang lebih cantik untuk path saat ini, hook akan memicu
window.history.replaceStateuntuk memperbarui bilah alamat sambil menjaga pengguna tetap berada di halaman internal yang sama.
Mengapa menggunakannya di Next.js?
Sementara intlayerMiddleware menangani rewrite sisi-server dan redirect awal, hook useRewriteURL memastikan URL di browser tetap konsisten dengan struktur SEO pilihan Anda bahkan setelah transisi sisi-klien.
- URL Bersih: Menerapkan penggunaan segmen terlokalisasi seperti
/fr/essaisalih-alih/fr/tests. - Performa: Memperbarui bilah alamat tanpa memicu siklus router penuh atau pengambilan ulang data.
- Keselarasan SEO: Mencegah masalah konten duplikat dengan memastikan hanya satu versi URL yang terlihat oleh pengguna dan bot mesin pencari.