2017-02-27 11 views
0

<Route>コードを持つSideMenuNavigationコンポーネントでは、this.props.location.pathnameの値にアクセスする必要があります。残念ながら、私はundefinedを取得しています。ルートコンポーネント内のthis.props.location.pathnameへのアクセス

class SideNavigation extends React.Component { 

    componentDidMount() { 
    console.log(this.props.location.pathname); // undefined 
    } 

    render() { 
    return(
    <Router> 
     <Route exact path="/" component={Dashboard}/> 
    </Router> 
    ) 
    } 
} 


/* */ 

私のダッシュボードコンポーネントでは、this.props.location.pathnameを正常に処理できます。 Unforunately、私はこのコンポーネントからそれを必要としません。 SideMenuNavigationコンポーネントの値が必要です。

答えて

0

locationは、ルータコンポーネントによって注入される小道具の1つです。あなたのケースでは、SideNavigationはルータコンポーネントの子ではありません(実際は親です)。 How does react-router pass params to other components via props?

+0

私はそれがwithRouterとパスレスの使用で働いています 'export default withRouter(SideNavigation)'とこれは修正されました! :) – devwannabe

関連する問題