2016-03-24 14 views
4

Bileşenlerimin dışında mevcut etkin URL'yi sorgulamam gerekir. Buna dayanarak vücutta bazı sınıfları (tepkimcemin dışında olan) ayarlayacağım.Geçerli sayfa yolunu rea-yönlendiricileri tarayıcıdan edinmeHistory nesnesi

İlk denemesi

//Gets an array of class names that I can add to my body tag 
getClassNames(window.location.pathname); 

kullanmaktı Ama Yönlendirici gider Tepki zaman güncellenmez window.location.path görünüyor. Şaşırtıcı evet.

Yani tamam belki browserHistory

import { browserHistory } from 'react-router' 

bu alabilirsiniz düşündük Ama ne yazık ki, ben de (hiçbir iyi API belgelerine var gibi görünüyor buradan geçerli sayfa yolu okumak için bir yol göremiyorum Bu nesne için

Herhangi bir ipucu? Basit bir sorun gibi görünüyor ve window.location.pathname tarih nesnesiyle senkronize olarak kalırsa olurdu.

cevap

5

Tamam 2017 itibariyle, en azından yer location.pathname` `çağırmalıdır [email protected] olarak

browserHistory.getCurrentLocation();

const location = browserHistory.getCurrentLocation(); 
console.log(location); 
+2

üzerinden ulaşılabilir –

5

, bunu şimdi yapmak bilmek tek yolu

import { browserHistory } from 'react-router' 
browserHistory.listen(function(event) { 
    //manage the pathname on your own 
    console.log(event.pathname); 
}); 

Not ideal gibi bir dinleyici kullanmaktır, ancak bu bile tarih tarafından kullanılan DOMUtils kütüphanede baktıktan sonra, getWindowPath() onun uygulanması içerir yol adı, arama ve karma dizeleri. Ancak, GitHub'da sizin için bir dokümanlar bağlantısı arıyorsanız, Tarih, yaklaşık 20 gün önce bir v3 yeniden yazıldı ve şu anda size yararlı olabilecek bir pathUtils module içeriyor.

İlgili konular