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

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

新規登録して質問してみよう
ただいま回答率
85.48%
React.js

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

Q&A

解決済

1回答

1322閲覧

reactの仮想DOMで分からないことがあります。

roooo

総合スコア57

React.js

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

0グッド

0クリップ

投稿2017/05/28 00:09

よく差分を反映して仮想DOMを作るとは言いますが、react.jsはAページからBページへ移動した時にそれが出来るのですか?
普通、遷移したら、前のページの情報はリセットされるので、そんなことが出来るのが不思議です。
どこに記憶するのとかが気になります。

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

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

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

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

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

guest

回答1

0

ベストアンサー

もちろん、ブラウザ側で遷移してしまえば、差分描画は不可能です。

ということで、Reactの機能を十全に発揮させるためには、React内部でページ遷移を再現する処理を行う必要があります。

  • 画面自体はReactで書き換え
  • ブラウザの履歴はHistory APIで変更

投稿2017/05/28 00:21

maisumakun

総合スコア145183

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

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

roooo

2017/05/28 00:24

ありがとうございます。 >画面自体はReactで書き換え ブラウザの履歴はHistory APIで変更 をもう少し詳しく解説して頂けないでしょうか。
maisumakun

2017/05/28 00:32

実際には、React自体がルーティングを行うので、「このURLにはこの画面が対応する」という定義を行っておけば、あとはReactが処理していきます。 react-routerのような、ルーティングを書きやすくするライブラリも存在しています。
roooo

2017/05/28 03:06

ありがとうございます。 例えば、Aページに遷移した時、サーバーサイドからこのjson内容が欲しい、と言った時、 >「このURLにはこの画面が対応する」 に加えて、ajax等で、値を取りに行かないと行けないのでしょうか? 通常、(reactを使わなければ、)そのページに遷移した時点でサーバーサイドから値をもらえますよね。 サーバーサイドはlaravelを使っています。
maisumakun

2017/05/28 04:24

そうですね、サーバはAPIとして値を返すように作っておいて、事前に用意したReactのビュー+JSONで受け取ったデータ、と言うかたちで画面を構築します。
roooo

2017/05/28 05:20

ということは、 イ)通常、(reactを使わない) →遷移した時点でcontroller等からviewに渡してサーバーからの値を取得できる。 フロントエンドにそのまま反映できる。 ロ)reactだと 1.このURLにはこの画面が対応する」という定義 に加えて 2.ajax等でページ遷移の後、データ取得のために処理を作らなければならない ということでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問