0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

react-router-domで "switch" が使えない?

Last updated at Posted at 2024-10-17

react-routerとは

Reactアプリケーションでルーティング(ページ間の移動)を管理するためのライブラリです。
異なるURLに応じて表示するコンポーネントを切り替えることができる。

Switchとは

React Routerのコンポーネントの1つで、最初に一致したルートだけ をレンダリングする役割を持ちます。

なぜ "Switch" が使えなかったか

一言でいうと**バージョンの違い**です。

"Switch"はバージョン5までの機能で、バージョン6以降は"Routes"に置き換わっています。

npm install react-router-dom でインストールした人注意!

npm install react-router-dom

上記でインストールすると、"Switch"が使用できないバージョンでインストールされる。

解決策:バージョンを確認し、
5までは"Switch",6以降は"Routes"を使いましょう。

Routesの注意点

switchの場合は下記のように使用していたが、

<Switch>
  <Route path="/" >
    <Home/ >
  </Route>
</Switch>

しかしRoutesでは下記のように使用する。

<Routes>
  <Route path="/" element ={<Home/>}>
</Routes>

version6では、の中に配置できる要素はコンポーネントまたはだけです。
の子要素としてコンポーネントを直接渡すことはできません。代わりに、のelementプロパティにコンポーネントを指定する必要がある。

参考サイト 
https://youonly.net/react-router-dom-switch/#toc1

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?