2017-02-15 25 views
27

<AppBar /> numaralı telefona bir title görüntülemek istiyorum. In Yönlendirici v4 tepkiReact Router v4 - Geçerli rota nasıl alınır?

, nasıl <AppBar />title prop bu kadar geçirilen akım rotayı almak mümkün olacaktır?

<Router basename='/app'> 
    <main> 
     <Menu active={menu} close={this.closeMenu} /> 
     <Overlay active={menu} onClick={this.closeMenu} /> 
     <AppBar handleMenuIcon={this.handleMenuIcon} title='Test' /> 
     <Route path='/customers' component={Customers} /> 
    </main> 
    </Router> 

özel bir <Route /> üzerinde prop bir özel başlık geçirmek için bir yolu var mı?

+0

Olası kopyalar (https://stackoverflow.com/questions/35031911/how [tepki-yönlendirici 2.0.0-rc5 mevcut rotayı almak nasıl] -to-olsun-geçerli-rota-içinde-yönlendirici-yönlendirici-2-0-0-rc5) –

cevap

45

Yönlendirici 4'te, geçerli rota - this.props.location.pathname. Sadece this.props numaralı telefonu arayın ve doğrulayın. location.pathname'u hala göremiyorsanız, withRouter dekoratörünü kullanmalısınız. Bu şuna benzer olabilir

:

import {withRouter} from 'react-router-dom'; 
    ... 

    const SomeComponent = withRouter(props => <MyComponent {...props}/>); 

    class MyComponent extends React.Component { 
     ... 
     SomeMethod() { 
      const {pathname} = this.props.location; 
      ... 
     } 
     ... 

    } 
ait
+5

lütfen bunun her zaman doğru olmadığını unutmayın: tepki-yönlendirici4 ile, bileşeniniz bazılarına göre daha yüksek bir seviyede işlenirse yuvalanmış yollar (daha sonra yolu genişletir) WithRouter içindeki location.pathname, window.location.pathname'den farklı olacaktır – maioman

İlgili konular