2016-03-29 18 views
29

私はかなりのグーグルでグーグルグーグルしましたが、以下の質問に明確な答えが見つかりませんでした:hashHistoryとreact-routerのbrowserHistoryの違いは何ですか? http://myurl.com/#page/another_page/another_page BrowserHistoryで反応ルータのhashHistoryとbrowserHistoryの違いは何ですか?

あなたが得る通常のURL(なしハッシュ):

+1

下記の反応ルータのドキュメントを参照してください。https://github.com/reactjs/react-router/blob/master/docs/API.md#browserhistory(および下記のハッシュ履歴のエントリ) –

+0

[React-ルータのドキュメント](https://github.com/reactjs/react-router/blob/master/docs/guides/Histories.md#browserhistory)には、その違いに関するかなり良い情報があります。ドキュメントはAPIの変更にも従うので、ここではすばらしい説明ではなく、それらを参照するのが最適です。 – markthethomas

+0

前の2つのコメント以降、ドキュメントが移動しました。ここで試してみてください:https://github.com/ReactTraining/react-router/blob/v3/docs/guides/Histories.md –

答えて

32

基本的な違いはhashHistoryは以下のようなURLを使用することであるhttp://myurl.com/page/another_page/another_page

+6

このhashHistory URLのメリットまたは欠点は何ですか? – Rob

+0

ブラウザのリンクアンカー機能を維持するためにbrowserHistoryを使用できますか?私は私のルータhttps://github.com/ReactTraining/react-router/issues/394#issuecomment-220221604でこのメソッドを試して、ビューはすべてのアンカークリックで再レンダリングされます – BigDong

+0

この記事を見てください。私はこれがあなたが探しているものだと思います:http://stackoverflow.com/a/40280486/217187。しかし、それが現れる答えはイエスです。 – smcdrc

2

私は質問が形式の違いを求めていたとは思いません、むしろ技術的です。したがって、技術的な違いで、ここでこの答えを共有:https://stackoverflow.com/a/42157741/2445694

は、基本的には、ブラウザだからウェブサイトは、メンバーや管理者のための領域を制限しているとし#

後にURLを送信しません。ユーザーは/ memberに移動してログインするよう求められますが、ログインページに入る前にユーザーが/ adminまたは/ memberにアクセスしようとしているかどうかはわかりません。リダイレクト先を知っている。

1

1)ブラウザの履歴のロケーション配列には、アプリケーション内で訪問された場所以外のものも含まれます。このリストへのアクセスを許可すると、ウェブサイトからのアクセスを許可されていないユーザーの閲覧履歴に関する情報が漏洩します。

2)ブラウザ履歴は、パス名がURLのフルパス名であるロケーションオブジェクトを作成します。ただし、履歴のベース名を指定することができます。この場合、フルパス名の一部は実質的に無視されます。

3)静的ファイルサーバーのブラウザの履歴には、私たちのHTMLを取得するためのサーバー上の1つの実際の場所がありますが、ハッシュ履歴はURLのハッシュセクションを使用して場所を設定し読み込みます。

4)ハッシュ履歴は、すべてのパス情報をURLのハッシュに格納するため、信頼性があります。

関連する問題