React 6.4.0 すべてのルーターの共通ヘッダー
P粉864872812
P粉864872812 2023-08-25 17:19:53
0
1
510
<p><code>react-router-dom</code> バージョン 6.4.0 を使用して React プロジェクトを開始していますが、すべてのルートに共通のヘッダーを作成できません。 </p> <p>App.js - これは <code>RouterProvider</code></p> を追加したファイルです。 <pre class="brush:php;toolbar:false;">'./logo.svg' からロゴをインポートします; './App.css' をインポートします。 import { Link, Outlet, RouterProvider } from "react-router-dom"; import { routers } from "./routes/routes"; 関数 App() { 戻る ( <RouterProvider ルーター={ルーター}> <div>ヘッダ</div> <アウトレット> </RouterProvider> ); } デフォルトのアプリをエクスポート;</pre> <p>routes.js - このファイルにすべてのルートを作成します</p> <pre class="brush:php;toolbar:false;">import { createBrowserRouter, redirect } from "react-router-dom"; 「../pages/About/About」から About をインポートします。 ホームを「../pages/Home/Home」からインポートします。 import { getUser, isAuthenticated } from "../sso/authUtil"; const authLoader = () => { if (!isAuthenticated()) { リダイレクトを返す("https://google.com"); } それ以外 { getUser() を返します。 } }; エクスポート const ルーター = createBrowserRouter([ { パス: "/"、 要素: <ホーム />、 ローダー: authLoader、 }、 { パス: "/about"、 要素: <About />, }、 ]);</pre> <p>Home.js - このファイルはホームページであり、タイトルだけでなく他のページへのリンクも含まれています</p> <pre class="brush:php;toolbar:false;">React を "react" からインポートします; import { Link, Outlet, useLoaderData } from "react-router-dom"; const ホーム = () => { constloaderData = useLoaderData(); 戻る ( <> <div>ヘッダ</div> <Link to="/">ホーム</Link> <リンク先="/about">概要</Link> <div>ホーム: {loaderData}</div>{" "} <アウトレット> </> ); } デフォルトのホームをエクスポート;</pre> <p>About.js - これは about</p> を表す通常のコンポーネントです。 <pre class="brush:php;toolbar:false;">React を "react" からインポートします; const About = () => { return <div>About</div>; }; デフォルトのエクスポートについて;</pre> <p><code>Home</code> コンポーネントと <code>About</code> コンポーネントの読み込み時にタイトルが上部に表示されるようにしたいと考えています。 </p>
P粉864872812
P粉864872812

全員に返信(1)
P粉909476457

react-router-dom@6.4.0 でも、汎用 UI レンダリング レイアウトでのルーティングは引き続き正常に機能します。

パブリック ヘッダー コンポーネントとネストされたルートの Outlet をレンダリングするレイアウト ルート コンポーネントを作成します。

###例:### リーリー

Layout

を構成内のレイアウト ルートにインポートしてレンダリングします。

リーリー ... リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート