は:<Route>コンポーネントの外にルートパラメータを公開する方法はありますか?私はこのような何かを持っている場合
<ConnectedRouter history={history}>
<App />
</ConnectedRouter>
マイルートの設定は、次のようになります。
アプリのようなルートや他のコンポーネントの単なるラッパーであるexport default [{
path: '/',
exact: true,
main: Home
},
{
path: '/:someId',
exact: true,
main: Profile
},
{
path: '*',
main: NotFound
}];
:
class App extends Component {
render() {
return (
<div>
<Header />
<Switch>
{routes.map((route, i) => <Route exact key={i} component={route.main} path={route.path}/>)}
</Switch>
<AnotherComponent {...this.props} />
</div>
);
}
}
AnotherComponentがmatch.paramsを使用する方法やそれらを公開する方法はありますか?私はすでに一致していないパスをルートとしてそれを追加することもwithRouterでコンポーネントをラップしてみましよう:
<Route component={AnotherComponent} />
そしてルートがあるときに/:それは両方のプロファイルとAnotherComponentが、試合をレンダリングしsomeId。 AnotherComponentのparamsは空です:/。
これは可能ですか? ありがとう!
私はこのコンポーネントが常に存在する必要があるということを理解しています。最初は「非表示」ですが、/:someIdにナビゲートするときには、このIDの情報で初期化してから、ルートが変更されてもアプリ全体にアクティブに表示する必要があります。 – gl0gl0
最後に疑問符を付けてレンダリングします:) ' 'それはそのidの有無にかかわらずレンダリングされます! –
zackify
パーフェクト!ありがとうございました! – gl0gl0