質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

1回答

1132閲覧

[React]何も表示されない[react-router]

shihominorth

総合スコア46

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2022/06/11 19:38

編集2022/06/11 19:43

前提

react-routerを使って、LPから別のhtmlファイルに偏移をさせようとしています。
その作業中にbrowserrouterなどを使うと真っ白になってしまいました。

実現したいこと

  • LPからloginボタンを押すとlogin.htmlに移動する

発生している問題・エラーメッセージ

<BrowserRouter>, <Routes>, <Route>, <HashRouter>などの偏移をするためのものを使うと真っ白になって表示されません。そもそも該当のタグが読み込まれていないみたいです。

該当のソースコード

https://github.com/shihominorth/Tastybox-react

JavaScript

1import React, { useState } from "react"; 2import { BrowserRouter, Route, Routes } from "react-router-dom"; 3import LandingPage from "./landing_page/components/Landing_Page"; 4 5const loginBtnClicked = { "location.href= ${LoginPagePath}" }; 6 7function App() { 8 9 return ( 10 <BrowserRouter> 11 <Routes> 12 <Route component={LandingPage} /> 13 </Routes> 14 </BrowserRouter> 15 ); 16} 17 18export default App; 19

試したこと

  • BrowserRouterをHashRouterに変えましたがダメでした。
  • https://reffect.co.jp/react/react-router-6に載っている様に新しく別のリポジトリを作って実装したところ同じ現象が起こりました

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2022/06/11 23:51

> LPからloginボタンを押すとlogin.htmlに移動する 移動する先は React のコンポーネントではなくて、ごく普通の html ページなのですか?
shihominorth

2022/06/12 03:32

はい。ただ別のindex.jsでまた別のAppコンポーネントを読んでます。そのAppコンポーネントのなかで別のコンポーネントを呼んでおります。 LPはヘッダーがないですが、ログインページや、他のページにはヘッダーがあるので、SPAという形ではなく全く別のhtml ファイルを呼ぶという形にしました。(ここら辺もみなさんどうされているかできれば知りたいです。) ただ質問にも書いてある通り、こんな複雑ではなくても、 import ReactDOM from 'react-dom'; import App from './App'; import { BrowserRouter } from 'react-router-dom'; ReactDOM.render( <BrowserRouter> <App /> </BrowserRouter>, document.getElementById('root') ); 質問にも書いた試したこと内の記事の中の上記のコード時点でタグが読み込まれないって感じです。
退会済みユーザー

退会済みユーザー

2022/06/12 04:42

移動する先がごく普通の html ページなのであれば a タグでリンクを張れば良さそうな気がしますが、そんな単純なことではないのでしょうね・・・ すみませんが自分は全体が理解できないのでお役に立てそうもありません。 > ログインページや、他のページにはヘッダーがあるので、SPAという形ではなく全く別のhtml ファイルを呼ぶという形にしました。(ここら辺もみなさんどうされているかできれば知りたいです。) Microsoft の Visual Studio のテンプレートで作る React + ASP.NET Core アプリの例で、OpenID Connect ベースの認証サーバーに実装したログインページを React 側から呼び出して表示し、ログインするというものがあります。興味がありましたら紹介します。
guest

回答1

0

react-router-domを使えるのはReactファイルのみです。

react外のhtmlファイルに遷移させたいなら、window.locationで実現できそうです。
参考: https://developer.mozilla.org/ja/docs/Web/API/Window/location

投稿2022/07/14 10:51

Kotarom_24

総合スコア28

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問