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
useRewriteURL Hook
Hook useRewriteURL untuk SolidJS dirancang untuk mengelola penulisan ulang (rewrite) URL yang dilokalkan di sisi klien. Hook ini secara otomatis memperbaiki URL di browser ke versi terlokalisasi yang "lebih rapi" berdasarkan locale saat ini dan konfigurasi di intlayer.config.ts.
Dengan menggunakan window.history.replaceState, hook ini menghindari navigasi berulang yang tidak perlu oleh Solid Router.
Penggunaan
Panggil hook ini di dalam komponen yang merupakan bagian dari aplikasi Anda.
Cara kerjanya
- Deteksi: Hook ini menggunakan
createEffectuntuk memantau perubahan pada reactivelocale(). - Pencocokan: Ia mengidentifikasi apakah
window.location.pathnamesaat ini sesuai dengan route kanonik yang memiliki alias terlokalisasi yang lebih rapi untuk bahasa saat ini. - Koreksi URL: Jika alias yang lebih rapi ditemukan, hook memanggil
window.history.replaceStateuntuk memperbarui bilah alamat tanpa memengaruhi state navigasi internal atau menyebabkan komponen melakukan re-render.
Mengapa menggunakannya?
- URL Otoritatif: Menegakkan satu URL tunggal untuk setiap versi terlokalisasi dari konten Anda, yang penting untuk SEO.
- Kenyamanan Pengembang: Memungkinkan Anda mempertahankan definisi rute internal sebagai kanonis sambil mengekspos path terlokalisasi yang ramah pengguna ke dunia luar.
- Konsistensi: Mengoreksi URL ketika pengguna mengetik path secara manual yang tidak sesuai dengan aturan lokalisasi pilihan Anda.