Sorunuzu sorun ve bu sayfaya ve seçtiğiniz AI sağlayıcısına referans vererek belgenin bir özetini alın
Bu sayfanın içeriği bir yapay zeka kullanılarak çevrildi.
Orijinal içeriğin İngilizce son sürümünü görüntüleyinIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
useRewriteURL Hook
SolidJS için useRewriteURL hook'u, istemci tarafında yerelleştirilmiş URL yeniden yazmalarını yönetmek üzere tasarlanmıştır. Geçerli locale ve intlayer.config.ts içindeki yapılandırmaya göre tarayıcı adres çubuğunu otomatik olarak daha "gösterişli" yerelleştirilmiş sürüme düzeltir.
window.history.replaceState kullanarak gereksiz Solid Router navigasyonlarının önüne geçer.
Kullanım
Hook'u uygulamanızın bir parçası olan bir bileşen içinde çağırın.
Kodu panoya kopyala
import { useRewriteURL } from "solid-intlayer";const Layout = (props) => { // Yeniden yazma kuralı varsa adres çubuğundaki /fr/tests'i otomatik olarak /fr/essais şeklinde düzeltir useRewriteURL(); return <>{props.children}</>;};Nasıl çalışır
- Tespit: Hook, reaktif
locale()içindeki değişiklikleri izlemek içincreateEffectkullanır. - Eşleme: Geçerli
window.location.pathname'in, mevcut dil için daha 'güzel' yerelleştirilmiş bir takma ada (alias) sahip canonical bir rota olup olmadığını belirler. - URL Düzeltme: Daha uygun bir takma ad bulunursa, hook adres çubuğunu iç gezinme durumunu etkilemeden veya bileşen yeniden render'larına neden olmadan güncellemek için
window.history.replaceStateçağırır.
Neden kullanılır?
/// Yetkili URL'ler: Her yerelleştirilmiş içerik sürümü için tek bir URL uygulanmasını sağlar; bu SEO için çok önemlidir.
- Geliştirici Kolaylığı: İç rota tanımlarınızı kanonik tutmanıza izin verirken, dışarıya kullanıcı dostu, yerelleştirilmiş yollar sunmanızı sağlar.
- Tutarlılık: Kullanıcılar tercih ettiğiniz yerelleştirme kurallarına uymayan bir yolu elle yazdığında URL'leri düzeltir.