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

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

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

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

React.js

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

Q&A

3回答

799閲覧

初歩的な質問ですがReactは単ページしか無いのでしょうか?

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

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

React.js

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

0グッド

0クリップ

投稿2020/03/09 07:49

Reactについて学習中なのですが疑問があります。

Reactには、
http://localhost:3000/○○○○
みたいなページは無く、URLの遷移はせず、インデックスページの単ページで完結する仕様なんでしょうか??

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

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

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

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

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

m.ts10806

2020/03/09 08:05

今一つ、目的がわかりません。 なぜ、その「仕様」かと思ったのかとか、解釈には根拠をつけてください
guest

回答3

0

いえ、普通に遷移するWebサイトの部品の1つとしてReactを組み込むことも可能です(React公式)。

開発元のFacebookでも、Reactをそのような使い方で運用している、とのことです(React公式)。

投稿2020/03/09 09:09

編集2020/03/09 09:12
maisumakun

総合スコア146018

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

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

0

どちらでも可能です。


Reactの本質は「HTMLテンプレート」にあります。

JavaScriptにひっついているDOM APIという
ブラウザがロードしたHTMLを後から書き換えて画面の更新を促すためのモジュールがあります。
これはAからBに変更しろという命令でしかありません。

DOMは壊したら元には戻りません。
ON/OFF切り替えボタンになると、ONに変更したら画面が切り替わりますが、
当然元に戻すときもDOM API越しに「HTMLよ変更しろ!」という命令が必要になります。
行って来いで2個のコードが必要になります。不便ですね。

なのでReactは考えました。
じゃあ最初からJavaScriptに「HTMLっぽいもの」を持たせておき、
JavaScript上の変数が切り替わったら、最善のあるべき姿のHTMLにカシャッと切り替われば最強じゃね?と

その結果JSXというJavaScript上でHTMLを持てるちょっと進化した言語ができました。


URLの遷移はせず、インデックスページの単ページで完結する仕様

この思想をSPA(シングル ページ アプリケーション)と呼びます。

HTMLテンプレートを複数持たせて、
論理的に仕切ったページに遷移する時は、このHTMLテンプレートだけカシャッと切り替えれば
JavaScriptの変数は飛ばないからそのまま使い回せるやん!

それを実現するライブラリや機能をルーティングやルータと呼びます。
ReactならばReact Routerでしょうか。

もちろんこれは後付けなので、利用したい人だけがルータを採用し、
不要だなーと思っている人は採用しません。

投稿2020/03/09 08:16

miyabi-sun

総合スコア21203

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

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

0

URLを分けるようにも作れるし、分けないようにも作れます

投稿2020/03/09 07:56

thyda.eiqau

総合スコア2982

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問