2017-01-18 37 views
3

私はすべてMatchのコンポーネントを保持するメインコンポーネントAppを持っています。私は現在のページを先頭に表示することができるようにしたいと思いますが(ヘッダなど)、現在のパス名を取得するのに問題があります。 Appリアクタールータv4 - 現在のページを表示

は私が持っている:

App.contextTypes = { 
    history: React.PropTypes.object, 
}; 

そして私は、コンポーネントに現在のパス名を渡す:

<Header currentPathname={this.context.history.location.pathname} /> 

しかし、Appがときの位置の変更を更新していないようです。これを聞いて小道具として渡すにはどうすればいいですか?

答えて

2

Matchコンポーネントの上に置いている場合は、すべてのルートにヘッダーを表示することをお勧めします。その場合は、ヘッダーにMatchを使用し、すべてのパターンに一致すると、locationpropsにアクセスできます。

<Match 
    pattern="/" 
    component={props => <Header pathname={props.location.pathname} />} 
/> 
+0

恐ろしく..私はこの単純な..感謝しました! – Toby

関連する問題