私は現在、反応ルータの周りを頭で覆そうとしています。正しいタイトルとコンテンツをレンダリングするためにページ名:リアクタルータv4:paramが404と競合しています
<BrowserRouter>
<div>
<Switch>
<Route exact path="/" component={App} />
<Route exact path="/:pageName" component={Page} />
<Route component={NotFound}/>
</Switch>
</div>
</BrowserRouter>
アイデアは、ページコンポーネントが使用することです。現時点では私はこのようになりますルータを達成しようとしています。ただし、pageNameが存在しない場合は、notFound(404)ページを表示する必要があります。
現在、すべてのURLがページルートと一致するため、404ページはレンダリングされません。
pageNameが存在するかどうかを確認し、ページコンポーネントが存在する場合にのみ一致させる従来の方法は何ですか?私は動的に設定する必要がありますか、またはページコンポーネントがチェックしてリダイレクトする必要がありますか?これについてどう思いますか?
しかし、どのようにあなたがしてアクセスします:ページコンポーネントにページ名パラメータを既存のページを設定した場合
は、私はのようにルートを生成するためにマップを使用する配列に事前定義されたが含まれていませんか? –
あなたはまだパスまたはURLを取ることができる一致プロパティを取得します。そこから1文字または2文字を削除する必要があるかもしれません。あるいは、ページから派生したPage1、Page2、..などのコンポーネントを作成し、ルータのこれらのコンポーネントを使用することができます –
このナンセンスはどのように受け入れられた答えですか? – odiumediae