2016-08-12 2 views
1

私はReact + Redux + React Routerを使っています。私の最初のページはログイン画面で、認証が成功すると、認証から取得したトークンを渡しながら別のページにリダイレクトします。私はこの質問を見ていますが、新しいページに値を渡す方法を示していません:React Router Redirect 私はダンのアドバイスを取ってアクションクリエイター(リダイレクト成功)どのようにトークンを戻すのか分かりません。これは私のアクションクリエイターです:React Reduxは値を渡しながらリダイレクトします

export const loginSucceeded = token => { 
    browserHistory.push('/dashboard') 
} 
+0

:そして、それはあなたがredux-thunkミドルウェアを使用すると仮定すると、localStorage

にトークンを保存することをお勧めします。それから、どこにでもアクセスでき、ページを更新した後も残ります。 – azium

+0

もちろん、あなたのトークンの減速機を作成し、 'connect'経由でアクセスすることができます – azium

+0

@aziumページの更新を扱うために' localStorage'に保存する方が良いですか? 'localStorage'トークンが空の場合、authを要求します。はい、それは減速機を使用していなければならず、他のどこでも減速機を介してトークンにアクセスしています。だからあなたの2つのコメントの組み合わせかもしれません:) – anoop

答えて

0

私はreact-router-reduxを使用することをお勧めします。 pushreplaceのアクションが付属していますので、dispatchloginSucceededアクションクリエイターにすることができます。これは経路の変更を処理するためのよりきれいな方法であり、あなたはredux開発ツールで適切なアクションを見るでしょう。私はlocalStorage` `にトークンを保存することをお勧め

export const loginSucceeded = token => { 
    return dispatch => { 
    localStorage.setItem('token', token); 
    dispatch(push('/dashboard')); 
    }; 
}; 
関連する問題