2016-04-15 27 views
0

のパスからlocationKeyを決定し、私はこのルート設定持って言う:が反応し、ルータを

<Router> 
    <Route path="/" component={App}> 
    <Route path="about" component={About} /> 
    <Route path="inbox" component={Inbox}> 
     <Route path="messages/:id" component={Message} /> 
    </Route> 
    </Route> 
</Router> 

を、現在のURLは言う:6

がためlocationKeysがにpasedと言うことができます/ /受信トレイ/メッセージ

/ = "loc1" (as accessed in App component as this.props.location.key) 
/inbox = "loc2" 
/messages/:id = "loc3" 

とにかく、反応ルータに私に与えられたルートパスの位置キーを与えることができますか?たとえば、 "messages /:id"を渡して "loc3"に戻したい場合

また、現在そのパスでレンダリングされている反応コンポーネントへの参照を取得できますか?私。私が "messages /:id"を渡すと、現在メッセージID 6を表示しているMessageのインスタンスが返されますか?

答えて

1

/messages/123、次に/inbox、次に/messages/123に行くと、メッセージの2回目の訪問でキーが異なります。

キーは通常関連するものではなく、location.stateが必要です。

コンポーネントを取得するには、コンポーネントがありますので、thisthis.props.childrenです。

+0

しかし、私は現在のlocationKeyを気にしています。 –

+0

私はコンポーネントではなく、深くネストされた子コンポーネントです。そして、私は現在のlocationKey for/inboxを決定したいと言います... –

+0

私は私のreduxストアでUIの状態を維持するためにlocationKeyを使用しています...代わりにlocation.stateを使用する必要がありますか? –

関連する問題