Hash Router
UI’nızı URL ile senkronize tutmak için, hash bölümünü (yani, window.location.hash) kullanan bir <Router>
dır.
Not:
Hash geçmişi
location.key
veyalocation.state
i desteklemez. Önceki sürümlerde bu davranışı değiştirmeye çalıştık, ancak çözemediğimiz sorunlar vardı. Bu davranışa ihtiyaç duyan herhangi bir kod veya eklenti çalışmaz. Bu teknik yalnızca eski tarayıcıları desteklediği için, sunucunuzu<BrowserHistory>
ile çalışacak şekilde yapılandırmanızı öneririz.
import { HashRouter } from 'react-router-dom'
<HashRouter>
<App />
</HashRouter>
Parametreleri
basename: string
Tüm konumların temel URL’ini belirtir. Uygulamanız sunucunuzdaki bir alt dizinde sunuluyorsa, bunu alt dizine ayarlayabilirsiniz. Başlarında /
olmalı fakat sonlarında olmamalıdır.
<HashRouter basename="/calendar" />
<Link to="/today" /> // <a href="#/calendar/today"> şeklinde render edilecektir.
HTML’deki <base href="" />
tag’ı ile aynı mantıkta çalışır.
getUserConfirmation: func
Gezinmeyi onaylamak için kullanılacak bir fonksiyondur. Varsayılan window.confirm komutunu kullanır.
// bu varsayılan davranıştır
const getConfirmation = (message, callback) => {
const allowTransition = window.confirm(message)
callback(allowTransition)
}
<HashRouter getUserConfirmation={getConfirmation} />
hashType: string
window.location.hash
için kullanılacak kodlamanın türüdür. Mevcut değerler şunlardır:
slash
-#/
ve#/sunshine/lollipops
gibi linkler oluştururnoslash
-#
ve#sunshine/lollipops
gibi linkler oluştururhashbang
-#!/
ve#!/sunshine/lollipops
gibi ajax crawlable (Google tarafından kullanımdan kaldırıldı) linkler oluşturur
Varsayılan değer slash
dır (#/
).
children: node
Bir adet child element render eder.