⊗jsrtPmRtAR 22 of 47 menu

React Routerへのルーターの追加

ルーターについて少し学んだので、 アプリケーションに一つ追加してみましょう。

しかし、まずは前回のレッスンで作成した アプリケーションのテンプレートを少し整理する必要があります。 具体的には、srcフォルダを整理します。 このフォルダからassetsフォルダ、 App.cssファイル、App.jsxファイルを削除してください。 結局、残るのはmain.jsxindex.cssだけになります。

index.cssを開き、完全にクリアしてください。 空の状態にします。

次に、メインファイルのmain.jsxを扱います。 これには以下のコードを記述します:

import './index.css' import React from 'react'; import ReactDOM from 'react-dom/client'; ReactDOM.createRoot(document.getElementById('root')).render( <React.StrictMode> </React.StrictMode> );

これでルーターを追加できます。 Webアプリケーションで最もよく使われるのは BrowserRouterなので、これを使用します。 モダンな構文も忘れずに。インポート文を追加しましょう:

import { createBrowserRouter, RouterProvider, } from 'react-router-dom';

次に、定数routerを定義し、 インポート文の後にBrowserRouterを作成します。 トップページに'Hello Router!'というテキストのdivが表示されるようにします。 そのために、トップページへのパスと表示する要素を定義します:

const router = createBrowserRouter([ { path: '/', element: <div>Hello Router!</div>, }, ]);

さらに、RouterProviderコンポーネントを追加し、 上記で作成したルーターを渡す必要があります。 このコンポーネントはすべてのルーターオブジェクトを受け取り、 アプリケーションをレンダリングし、他のAPIを接続します:

ReactDOM.createRoot(document.getElementById('root')).render( <React.StrictMode> <RouterProvider router={router} /> </React.StrictMode> );

完全なコードは以下のようになります:

import './index.css' import React from 'react'; import ReactDOM from 'react-dom/client'; import { createBrowserRouter, RouterProvider, } from 'react-router-dom'; const router = createBrowserRouter([ { path: '/', element: <div>Hello world!</div>, }, ]); ReactDOM.createRoot(document.getElementById('root')).render( <React.StrictMode> <RouterProvider router={router} /> </React.StrictMode> );

変更を保存しましょう。おめでとうございます! 私たちのアプリケーションはもうエラーを吐きません。 これを起動すると、ブラウザのトップページに 'Hello Router!'と表示されるはずです。

ここで学んだ内容を使って、 過去のレッスンの宿題で作成したあなたのアプリケーションの トップページに、'I'm number one in React!'というテキストの 段落が表示されるようにしてください。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否