2016-07-18 9 views
3

Expressでサーバ上でルーティングを行うことができれば、なぜクライアント側のルータが必要ですか? メリットは何ですか?また、SPAにとって重要なのは何ですか?React Routerの目的は何ですか?

答えて

2

アプリケーションをブラウザのURLと同期させるためにクライアント側のルーティングが必要です。

これは主に、XHRまたはAJAX呼び出しによるRESTful API呼び出しにバックエンドを使用するシングルページアプリケーションに役立ちます。

SPAがブックを使用すると、あなたのURLにマークを付けることができます。また、URLに再びヒットしたとき、アプリケーションはデータとその状態でそのページを読み込む必要があります。

サーバー側ルーティングとクライアント側ルーティングの主な違い:
1.サーバーサイドルーティングでは、ページ全体をダウンロード(配信)します。
2.クライアント側のルーティングでは、ページ全体とともに、ページの特定の部分にサービスを提供し、DOMを再利用し、URLおよび履歴の状態を手動で管理できます。例えば。

www.something.com/page1/tab1はUI
www.something.com/page1.tab2でtab1のは、このようにURLがより複雑に取得することができますし、状態を持つサブルートを持つことができるUI

にTAB2が表示されます表示されます。

0

クライアント側のルータを必要とする人は、状態管理のためにそれを必要とします。サーバー側でレンダリングされたページがありますが、一部のクライアントサイドウィジェットがあるとします(例:カレンダー、フィルターセット、折りたたまれた、または開いているサイドバー。ルーターは、ページのこれらのコンポーネントを必要な状態で初期化するのに役立ちます。確かに、あなたはそのほとんどと私がサーバー上で指定したすべてのユースケースを行うことができます。しかし、通常はクライアント上でこれを処理する方が簡単です。サーバー上でより速くレンダリングするかもしれませんが、特に部分的なページ更新を行うときに、クライアント側を処理する方が安価で高速です。

関連する問題