2017-04-05 10 views
2

定義されたルートと一致しないすべてのルートを処理するルートハンドラを指定する方法はありますか?キャッチオールルートやデフォルトルートハンドラのように。パターンと一致しないルートを処理する方法

私は、一致するルートが見つからない場合にデフォルトページをロードするようにしています。たとえば、「ページが見つかりません」というページが読み込まれます。

答えて

2

react-routerv4であなたは自分のルート定義の最後の一つとしてpath小道具コンポーネントなしRouteを追加することができますし、他のルートが一致されていない場合、それはマッチします:

react-routerドキュメントから

copied:ここ

<Switch> 
    <Route path="/" exact component={Home}/> 
    <Redirect from="/old-match" to="/will-match"/> 
    <Route path="/will-match" component={WillMatch}/> 
    <Route component={NoMatch}/> 
</Switch> 

は、URLパスがNoMatchコンポーネントが示されている//old-match又は/will-matchありません。

react-routerv3では同じ原理が適用されます:あなたは自分のルーティング定義の最後にpath小道具でちょうどワイルドカード文字*Routeコンポーネントを追加します。

<Router ... > 
    { /* Your actual route declarations */ } 
    <Route component={ NoMatch } path="*" /> 
</Router> 

・ホープ、このことができます!

関連する問題