ホームページ  >  記事  >  ウェブフロントエンド  >  React Router v4 および v5 では、ネストされたルートをどのように構築しますか?

React Router v4 および v5 では、ネストされたルートをどのように構築しますか?

DDD
DDDオリジナル
2024-10-31 02:15:29388ブラウズ

How do you structure nested routes in React Router v4 and v5?

React Router のネストされたルート

React Router バージョン 4 および 5 では、ネストされたルートには少し異なるアプローチが含まれます。 をネストする代わりに、

たとえば、次のネストされたルート構成:

<Match pattern="/" component={Frontpage}>
  <Match pattern="/home" component={HomePage} />
  <Match pattern="/about" component={AboutPage} />
</Match>
<Match pattern="/admin" component={Backend}>
  <Match pattern="/home" component={Dashboard} />
  <Match pattern="/users" component={UserPage} />
</Match>
<Miss component={NotFoundPage} />

次のように構成する必要があります:

<Route path="/" component={Frontpage} />
<Route path="/admin" component={Backend} />

これらの 内では、次の例に示すように、子ルートを親コンポーネントのサブコンポーネントとして定義できます。

<code class="javascript">const Frontpage = ({ match }) => (
  <div>
    {/* Child routes for the frontend */}
    <Link to={`${match.url}/home`}></Link>
    <Link to={`${match.url}/about`}></Link>
    <Route path={`${match.path}/home`} component={HomePage} />
    <Route path={`${match.path}/about`} component={AboutPage} />
  </div>
);

const Backend = ({ match }) => (
  <div>
    {/* Child routes for the admin area */}
    <Link to={`${match.url}/home`}></Link>
    <Link to={`${match.url}/users`}></Link>
    <Route path={`${match.path}/home`} component={Dashboard} />
    <Route path={`${match.path}/users`} component={UserPage} />
  </div>
);</code>

この改訂された構造により、フロントエンド コンポーネント内の /home には / でアクセスできるようになり、/admin/ ではアクセスできるようになります。バックエンド コンポーネント内のホームには、/admin/home からアクセスできます。

以上がReact Router v4 および v5 では、ネストされたルートをどのように構築しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。