2017-01-28 1 views
0

私は現在、私のSPAでhashHistoryを使用しています。ユーザーがサインアップすると、アカウントを確認するための電子メールが届きます。電子メールで確認してくださいクリックした後リアクタ・ルータ:HashHistoryを使用して、location.hashを取得しようとしています

website.com/#/ 

:彼らはそれがURLにJWTトークンで私のウェブサイトに

現在のウェブサイトのURLをリダイレクトします[確認]ボタンをクリックすると

website.com/#/dashboard#SomeReallyLongTokenValue 

問題がありますhashHistoryを使用しているので、私はこれを行うことができません:

this.props.location.hash 

これは最初のha現在の値としてのsh(空の文字列)です。これをどうやって解決するのですか?私はbrowserHistoryに移動することを知っていますそれを修正するが、現時点では不可能です。

答えて

0

ハッシュ変更のたびに呼び出されるグローバル​​を追加し、複数のハッシュ文字の有無を確認し、必要なセグメントを選択して正しいハッシュを設定することができます。

window.addEventListener('hashchange', function (e) { 
    var fragments = e.newURL.split('#'); 
    if (fragments.length <= 2) { 
     return; 
    } 
    location.hash = fragments[fragments.length-1]; 
}); 
+0

これはどのように動作するのかはっきりと分かりますが、hashHistoryではそうは見えません。私の実際のコンポーネントのwindow.locationが既に '/ dashboard'に変更され、ハッシュがなくなる前のどこかのようです – user2465134

関連する問題