LoginSignup
gallantsummerwind
@gallantsummerwind

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

React Routerの使用方法について

React初心者です。
React Routerを使ったページ遷移を考えているのですが、
以下のコードではエラーとなり真っ白となります。

イメージとしては、urlで"/"の場合は「HomePage」を表示し、
"/Shop"の場合は「ShopPage」を表示するコードを書いています。

エラーコード
「ERROR in ./src/App.js 6:0-64
Module not found: Error: Can't resolve 'react-router-dom' in 'C:\Users\Desktop\プログラミング\開発編(React)\ecsite\src'」

「ERROR in ./src/App.js 8:0-50
Module not found: Error: Cannot find file: 'ShopPage.jsx' does not match the corresponding name on disk: '.\src\components\Shop\Shoppage.jsx'.」

環境
環境.png

「App」のコード
App.png

「HomePage」のコード
HomePage.png

「HomePageindex」のコード
HomePege_index.png

「ShopPage」のコード
ShopPage.png

「ShopPageindex」のコード
ShopPage_index.png

いろいろ試してみましたが、手詰まりとなってしまいました。
解決策をご教授お願いします。

0

1Answer

発生している2つのエラーについて

  • 1つ目
ERROR in ./src/App.js 8:0-50
Module not found: Error: Cannot find file: 'ShopPage.jsx' does not match the corresponding name on disk: '.\src\components\Shop\Shoppage.jsx'.

Module not found: Error: Cannot find file:と言われているので、ファイルがないということですね。

1枚目の画像からわかることとして、
ディレクトリ構造を見ると、components/Shop/Shoppage.jsxというファイル名ですが、コード内では、components/Shop/ShopPage.jsx(pageのpが大文字・小文字で違いがある)となっています。

  • 2つ目
ERROR in ./src/App.js 6:0-64
Module not found: Error: Can't resolve 'react-router-dom' in 'C:\Users\Desktop\プログラミング\開発編(React)\ecsite\src'

Module not found: Error: Can't resolveとなっているので、、、
react-router-dompackage.jsonにあるのか気になりました。

npx create-react-app XXXでアプリケーションを作成した場合、react-router-domは初期状態では用意されていないので、自分でインストールする必要があります。(インストール済みでしたら、すいません)
package.jsonの情報を共有いただけますか?


以下は質問とは直接関係ない内容です。
(絶対こうしてください、ではないですが、一定数の支持は得られる内容ではないかな~と思ってます)

画像の方がわかりやすいケースもありますが、画像の場合は、1枚1枚クリックして確認となるので、回答者によっては、確認しづらい場合があります。
1枚目の画像のフォルダ構造については、画像の方が見やすいと思います。
それ以外のコードは、以下の点からコードスニペットを活用した方が、いいと思いました。

  • マウスのスクロールだけで確認できる
  • コピペしたい場合も楽

回答する方々に、より配慮された質問内容とするためのアドバイスでした。

3Like

Comments

  1. ・1つ目のエラーに関して、修正しました。
    ・2つ目のエラーに関しても「package.json」を確認したところ、「react-router-dom」が入っていませんでした。
    どちらもご指摘の通り、実施することで解決いたしました!
    少し進展しました!ありがとうございます。

    また、質問を投稿する際にスクショだけでなく
    コードを読みやすくするツールも勉強したいと思います!

  2. 進展あり、でよかったです。

    コードスニペットなど、マークダウンの書き方はこちらを確認してみてください。

Your answer might help someone💌