react-router
は表示されません実際にはは子供をレンダリングするためにライフサイクルプロセスを使用しています。
代わりに、react-router
は、個々に各コンポーネントを個別にレンダリングし、それらを一緒にマージします。このため、子ルートを持つコンポーネントルートにthis.props.children
を含める必要があります。これを担当するコードは<RouterContext>
のレンダリング機能で見ることができます。
基本的には、最もネストされたルートコンポーネントを取り込んでレンダリングすることです。次に、次にネストしたコンポーネントを取り出し、レンダリングしたコンポーネントをchildren
propとしてレンダリングします。これはルートルートコンポーネントに到達するまで行を続けます。
ルートを考える:
<Route path="/" component={App}>
<Route path="inbox" component={Inbox}>
<Route path="messages/:id" component={Message} />
</Route>
</Route>
あなたが/inbox/messages/12
にアクセスすると、react-router
は、次の操作を行います:
- は
element
として<Message routeParams={{ id: 12 }} />
や店舗、結果をレンダリングします。
- レンダリング
<Inbox children={element} />
と結果をelement
として保存します。
- レンダリング
<App children={element} />
と返品結果。
はい、このようになります。 –