2017-01-01 15 views
0

私は次のようにルートをしている:React Router経路変更時にコンポーネント内の要素のクラス名を変更する方法は?

<Route path="" component={Sidebar}> 
    <Route path="pages/about" component={PageFactory}" /> 
    <Route path="news" component={NewsFactory}" /> 
</Route> 

は今、私は時にルート変更サイドバーコンポーネントにクラスを追加したいです。ルートが "/ pages/about"になったら、サイドバーコンポーネントの要素に "is-open" classNameを追加します。ルートが "/"になったら、サイドバーコンポーネントの要素からclassNameをリモートにしたいと思う。

どうすればこの問題を解決できますか?

答えて

1

各コンポーネントは、いくつかの有用なプロパティを取得します。あなたがこれを行うことができ、サイドバーコンポーネントで

const Sidebar = React.createClass({ 
    render() { 
    let { location:{pathname, params, query} } = this.props; // router props 
    } 
}); 

pathnameaboutされている場合、あなたはis-open

を行う、その後検出することができます
関連する問題